Submitted by Paolo Vincenzo Olivo on pkgsrc-users.
## ksh 93u+m/1.0.1
This is an urgent bugfix release that removes an incorrect exec
optimization that was capable of terminating the execution of scripts
prematurely in certain corner cases. It is known to make the build
scripts of GNU binutils produce corrupted results if ksh is used as
/bin/sh. See #507 for more information.
No other breakage resulting from this bug is known yet, but other
breakage probably exists. Every 1.0.0 user should update to 1.0.1 ASAP.
## ksh 93u+m/1.0.0
Roughly a thousand bugs have been fixed, including many serious/critical
bugs. See the NEWS file for more information, and the git commit log for
complete documentation of every fix. Incompatible changes have been
minimised, but not at the expense of fixing bugs. For a list of
potentially incompatible changes, see src/cmd/ksh93/COMPATIBILITY.
Though there was a "no new features, bugfixes only" policy, some new
features were found necessary, either to fix serious design flaws or to
complete functionality that was evidently intended, but not finished.
Below is a summary of these new features.
New command line editor features:
- The forward-delete and End keys are now handled as expected in the
emacs and vi built-in line editors.
- In the vi and emacs line editors, repeat counts can now also be used for
arrow keys and the forward-delete key, e.g., <ESC> 7 <left-arrow> works.
- Various keys on extended PC keyboards are now handled as expected in the
emacs and vi built-in line editors.
New shell language features:
- Pathname expansion (a.k.a. globbing) now never matches the special names
'.' (current directory) and '..' (parent directory). This change makes a
pattern like .* useful; it now matches all hidden files (dotfiles) in the
current directory, without the harmful inclusion of '.' and '..'.
- Tilde expansion can now be extended or modified by defining a .sh.tilde.get
or .sh.tilde.set discipline function. See the manual for details.
- The &>file redirection shorthand (for >file 2>&1) is now available for all
scripts and interactive sessions and not only for profile/login scripts.
- Arithmetic expressions in native ksh mode no longer interpret a number
with a leading zero as octal in any context. Use 8#octalnumber instead
(e.g. 8#400 == 256). Arithmetic expressions now also behave identically
within and outside ((...)) and $((...)). If the POSIX mode is turned on,
a leading zero now denotes an octal number in all arithmetic contexts.
New features in built-in commands:
- Usage error messages now show the --help/--man self-documentation options.
- Path-bound built-ins (such as /opt/ast/bin/cat) can now be executed by
invoking the canonical path, so the following will now work as expected:
$ /opt/ast/bin/cat --version
version cat (AT&T Research) 2012-05-31
- 'cd' now supports an -e option that, when combined with -P, verifies
that $PWD is correct after changing directories; this helps detect
access permission problems. See:
https://www.austingroupbugs.net/view.php?id=253
- 'command -x' now looks for external commands only, skipping built-ins.
In addition, its xargs-like functionality no longer freezes the shell on
Linux and macOS, making it effectively a new feature on these systems.
- 'printf' now supports a -v option as in bash. This assigns formatted
output directly to variables, which is very fast and will not strip
final newline (\n) characters.
- 'redirect' now checks if all arguments are valid redirections before
performing them. If an error occurs, it issues an error message instead
of terminating the shell.
- 'return', when used to return from a function, can now return any
status value in the 32-bit signed integer range, like on zsh. However,
due to a traditional Unix kernel limitation, $? is still trimmed to its
least significant 8 bits whenever a shell or subshell exits.
- 'suspend' now refuses to suspend a login shell, as there is probably no
parent shell to return to and the login session would freeze.
- 'test'/'[' now supports all the same operators as [[ (including =~,
\<, \>) except for the different 'and'/'or' operators. Note that
'test'/'[' remains deprecated due to its unfixable pitfalls;
[[ ... ]] is recommended instead.
- 'times' now gives high precision output in a POSIX compliant format.
- 'type'/'whence': Two bash-like flags were backported from ksh 93v-:
- 'whence -P/type -P' is an alias to the existing -p flag.
- 'whence -t/type -t' will print only the type of a command in a
simple format that is designed to be easy to use for scripts.
- 'typeset' has a new '-g' flag that forces variables to be created or
modified at the global scope regardless of context, as on bash 4.2+.
- 'typeset' now gives an informative error message if an incompatible
combination of options is given.
- 'ulimit': Added three options inspired by bash:
- 'ulimit -k' sets the maximum number of kqueues.
- 'ulimit -P' sets the maximum number of pseudo-terminals.
- 'ulimit -R' sets the maximum time in microseconds a real-time process
can run before blocking.
Note that not all operating systems support the limits set by these options.
- 'whence -v/-a' now reports the location of autoloadable functions.
New features in shell options:
- When the -b/--notify shell option is on and the vi or emacs/gmacs shell
line editor is in use, 'Done' and similar notifications from completed
background jobs are now inserted directly above the line you're typing,
without affecting your command line display.
- A new --functrace long-form shell option causes the -x/--xtrace option's
state and the DEBUG trap action to be inherited by function scopes instead
of being reset to default. Changes made to them within a function scope
still do not propagate back to the parent scope. Similarly, this option
also causes the DEBUG trap action to be inherited by subshells.
- A new --globcasedetect shell option is added on operating systems where
we can check for a case-insensitive file system (currently Linux, macOS,
QNX 7.0+, and Windows/Cygwin). When this option is turned on, pathname
expansion (globbing), as well as tab completion on interactive shells,
automatically become case-insensitive depending on the file system.
This is separately determined for each pathname component.
- Enhancement to -G/--globstar: symbolic links to directories are now
followed if they match a normal (non-**) glob pattern. For example, if
'/lnk' is a symlink to a directory, '/lnk/**' and '/l?k/**' now work as
you would expect.
- The new --histreedit and --histverify options modify history expansion
(--histexpand). If --histreedit is on and a history expansion fails, the
command line is reloaded into the next prompt's edit buffer, allowing
corrections. If --histverify is on, the results of a history expansion are
not immediately executed but instead loaded into the next prompt's edit
buffer, allowing further changes.
- A new --nobackslashctrl shell option disables the special escaping
behaviour of the backslash character in the emacs and vi built-in editors.
Particularly in the emacs editor, this makes it much easier to go back,
insert a forgotten backslash into a command, and then continue editing
without having your next arrow key replace your backslash with garbage.
- A new --posix shell option has been added to ksh 93u+m that makes the
ksh language more compatible with other shells by following the POSIX
standard more closely. See the manual page for details. It is enabled by
default if ksh is invoked as sh, otherwise it is disabled by default.
Packaged in wip by Paolo Vincenzo Olivo.
Etsh provides two ports of the original /bin/sh from Version 6 (V6) UNIX
(circa 1975).
Etsh(1) is an enhanced, backward-compatible port of the V6 Thompson shell.
Tsh(1) is an unenhanced port of the shell, and glob(1) is a port of its
global command. Together, tsh and glob provide a user interface which
is backward compatible with that provided by the V6 Thompson shell and
global command, but without the obvious enhancements found in etsh.
The original Thompson shell was principally written by Ken Thompson
of Bell Labs.
This package also includes the following shell utilities:
- if(1) - conditional command (ported from V6 UNIX)
- goto(1) - transfer command (ported from V6 UNIX)
- fd2(1) - redirect from/to file descriptor 2
Packaged in wip by Paolo Vincenzo Olivo.
Between 2017 and 2020 there was an ultimately unsuccessful attempt to breathe
new life into the KornShell by extensively refactoring the last unstable AST
beta version (93v-). While that ksh2020 effort is now abandoned and still has
many critical bugs, it also had a lot of bugs fixed. More importantly, the AST
issue tracker now contains a lot of documentation on how to fix those bugs,
which made it possible to backport many of them to the last stable release
instead. This ksh 93u+m reboot now incorporates many of these bugfixes, plus
patches from OpenSUSE, Red Hat, and Solaris, as well as many new fixes from the
community (1, 2). Though there are many bugs left to fix, we are confident at
this point that 93u+m is already the least buggy version of ksh93 ever
released. As of late 2021, distributions such as Debian and Slackware have
begun to package it as their default version of ksh93.
1.7.1 (2022-05-24)
Features
go: check for go.work file to show Go module in prompt
hostname: add ssh_symbol for ssh connections
package: Extract package version from PEP 621 compliant pyproject.toml
rust: Display toolchain names
Bug Fixes
ci: Version bump and fix Crowdin Pretranslate
Do not panic in config if editor not found
module: list option not working
nu: use the most recent starship init
Use git2::Repository::open_ext() instead of discover()
1.7.0 (2022-05-24)
chore(master): release 1.7.0
v0.18.0
-All features deprecated in 0.17.0 have been removed.
-Within double quotes, \x followed by two hexadecimal digits and \ followed by
three octal digits now encode an individual byte, rather than a codepoint.
-Using a lone try without except or finally is now forbidden; this does not do
anything useful and is almost certainly an incorrect attempt to suppress an
exception.
Deprecated features will be removed in 0.19.0.
The following deprecated features trigger a warning whenever the code is parsed
or compiled, even if it is not executed:
-The legacy temporary assignment syntax (e.g. a=foo echo $a) is deprecated.
Use the new tmp command instead (e.g. tmp a = foo; echo $a).
-The clause to catch exceptions in the try special command is now spelt with
catch; the old keyword except is deprecated.
Notable bugfixes
-The output longer than terminal width is now shown fully on Windows Terminal.
-Changing directories in the navigation mode now correctly runs hooks and
updates $E:PWD.
Notable new features
-Elvish now ships a builtin language server that can be started with
elvish -lsp.
-A new flag: module for parsing command-line flags.
-A new tmp special command for doing temporary assignments.
-A new defer command to schedule a function to be run when the current closure
finishes execution.
-A new call command to call a command, using a list for and a map for options.
-A new $unix:rlimits variable allows manipulation of resource limits.
v0.17.0
Breaking changes
-Attempting to assign to a read-only variable (e.g. set nil = x) is now a
compile-time error rather than an exception.
Deprecated features - Deprecated features will be removed in 0.18.0.
The following deprecated features trigger a warning whenever the code is parsed
or compiled, even if it is not executed:
-The dir-history command is deprecated. Use store:dirs instead.
-The legacy assignment form is deprecated. Depending on whether the left-hand
variable already exists or not, use var or set instead. Use the upgrader to
migrate scripts.
-The lambda syntax that declares arguments and options within [] before { has
been deprecated. The new syntax now declares arguments and options within a
pair of |, after {. Use the upgrader to migrate scripts. See (#664).
-Use of the special namespace local: is deprecated.
-If you are using local: to reference variables (e.g. echo $local:x),
local: is never necessary in the first place since Elvish always resolves
local variables first, so just remove it.
-If you are using local: when assigning variables (e.g. local:x = foo),
local: makes sure that a new variable is created; use the var special
command instead.
-Use of the special namespace up: is deprecated.
-If you are using up: to access a non-shadowed variable in an outer scope,
up: is not necessary; just remove it.
-If you are using up: to access a shadowed variable in an outer scope, rename
the variables to have different names.
-Use of a leading empty namespace in a variable name (e.g. $:x) is deprecated.
Since $:x is always equivalent to $x anyway, just remove the : prefix.
Notable new features
New features in the language:
-A new special command pragma. The only supported pragma now is unknown
command; using pragma unknown command = disallow turns off the default
behavior of treating unknown commands as external commands.
-A new special command coalesce.
New features in the interactive editor:
-Editor modes now form a stack, instead of being mutually exclusive.
For example, it is now possible to start a minibuf mode within a completion
mode, and vice versa.
New features in the standard library:
-The store: module now exposes all functionalities of Elvish’s persistent store.
-New compare command to compare numbers, strings, and lists (#1347), in a
consistent way as the order builtin.
-The range command now supports counting down.
Performance improvements:
-The overhead of executing pipelines consisting of a single form (i.e. a simple
command with no pipes) has been reduced. A code chunk containing just nop
command now executes 4 times as fast as before. Thanks to kolbycrouch for
suggesting this optimization!
For changes between 0.16.1 and 0.17.0 check https://elv.sh/blog/
Changelog:
5.9:
Changes since 5.8.1
-------------------
zsh 5.9 is dedicated to the memory of Sven Guckes, who was, amongst other
things, a long-time zsh advocate. For more information, see:
https://linuxnews.de/2022/02/sven-guckes-verstorben/https://groups.google.com/g/vim_announce/c/MJBKVd-xrEE/m/joVNaDgAAgAJ
When unsetting a hash element, the string enclosed in square brackets is
interpreted literally after any normal command-line-argument expansions.
Thus
unset "hash[$key]"
first expands $key as usual for a double-quoted string, and then interprets
that result as the exact hash element to unset. This differs from previous
versions of the shell, which would also remove a leading backslash for an
unusual subset of characters in the expansion of $key. Note this also
means, for example, that now
unset 'hash[ab]cd]'
unsets the element with key "ab]cd" rather than silently doing nothing.
The function command learnt a -T option to declare a function and enable
tracing for it simultaneously.
The option SHORT_REPEAT was added to enable the short syntax of
SHORT_LOOPS for the repeat command only. It is disabled by default.
The _arguments function now supports NUL-delimiting optargs in the
opt_args array via the -0 option. Developers of completion functions
should find this easier to handle reliably than the default
colon-delimiting behaviour.
The zsh/system module's `zsystem flock` command learnt an -i option to
set the wait interval used with -t. Additionally, -t now supports
fractional seconds.
The option CLOBBER_EMPTY was added to enable the overwrite behaviour
of CLOBBER for empty files only. It is disabled by default.
A (-) expansion flag was added. It works like (n) but correctly sorts
negative numbers.
The (*) expansion flag enables EXTENDED_GLOB for pattern matching.
For example, ${(*)sample/(#b)*(pat)*/${match[1]}} uses backreferences
even if EXTENDED_GLOB is not otherwise set. However, this does not
descend into nested exapansions, and doubling as (**) does not disable
EXTENDED_GLOB.
The compinit function learnt a -w option to explain why compdump runs.
When run without the -i or -u options and compaudit discovers security
issues, answering "y" to the "Ignore insecure ..." prompt removes the
insecure elements (like the -i option) where previously it ignored the
result (thus formerly like the -u option). Further, removing those
elements includes dropping directories from the $fpath array.
The zsh/datetime module's strftime builtin learnt an -n option to omit
the trailing newline when printing a formatted time.
The XTRACE option is now disabled while running user-defined completion
widgets. This corresponds to long-standing behavior of other user ZLE
widgets. Use the _complete_debug widget to capture XTRACE output, or
use "functions -T" to enable tracing of specific completion functions.
The fc builtin learnt an -s option which is a POSIX equivalent to the
`fc -e-` method of re-executing a command without invoking an editor.
The option CASE_PATHS was added to control how NO_CASE_GLOB behaves.
NO_CASE_GLOB + NO_CASE_PATHS is equivalent to the current NO_CASE_GLOB
behaviour. NO_CASE_GLOB + CASE_PATHS treats only path components that
contain globbing characters as case-insensitive; this behaviour may
yield more predictable results on case-sensitive file systems.
NO_CASE_PATHS is the default.
With the new TYPESET_TO_UNSET option set, "typeset foo" leaves foo unset,
in contrast to the default behavior which assigns foo="". Any parameter
attributes such as numeric type, sorting, and padding are retained until
the parameter is explicitly unset or a conflicting value is assigned.
This is similar to default behavior of bash and ksh. This option is
disabled by default.
The compadd builtin's -D option can now be specified more than once.
The zsh/zutil module's zformat builtin learnt an -F option which behaves
like -f except that ternary expressions check for existence instead of
doing math evaluation.
The conventional syntax used to indicate units, ranges, and default values
in completion descriptions (e.g. `timeout (seconds) (0-60) [20]`) is now
recognised by the completion system itself. These components are parsed
out of the description and can be individually styled. A _numbers helper
function has been added to help function authors offer rich completion
for these values.
The log builtin, WATCH parameter, et al., have been broken out into a
separate module, zsh/watch. The module is enabled by default.
The zsh/watch module's WATCHFMT parameter now supports colours via the
%F and %K escapes.
The STTY parameter can now be set to an empty string before running a
command to automatically restore terminal settings after the command
finishes.
The "jobs" command and "$jobstates" and related parameters can report on
parent shell jobs even in subshells. This is a snapshot of the parent
state, frozen at the point the subshell started. However, if a subshell
starts its own background jobs, the parent state is discarded in order
to report on those new jobs.
Changes since 6.24.00:
3. V6.24.01 - 20220512
2. Fix quoting of ! characters in history recall (Kimmo Suominen)
1. Fix return status of which (Jamie Landeg-Jones)
1.6.2 (2022-04-15)
Bug Fixes
trigger another release
1.6.1 (2022-04-15)
Bug Fixes
fix release-please permissions
1.6.0 (2022-04-14)
Features
Add a module for C projects
allow printing config file schema
aws: add option to force AWS display
cmd_duration: make notify feature optional (compat with nix darwin)
spack: Add Spack module
username: Detect Admin access in Windows
Bug Fixes
bash: ensure checkwinsize is enabled for $COLUMNS
directory: enable repo_root_style when truncation_length is zero.
docker_context: ignore the "default" context
fish: allow generating session keys in older versions of fish
init: Change Elvish init to catch for 0.18
nu: Use = instead of space to pass command line parameters
nu: use shell-provided terminal width
fish 3.4.1
This release of fish fixes the following problems identified in fish 3.4.0:
* An error printed after upgrading, where old instances could pick up a newer
version of the fish_title function, has been fixed
* fish builds correctly on NetBSD and OpenIndiana.
* nextd-or-forward-word, bound to Alt-Right Arrow by default, was
inadvertently changed to move like forward-bigword. This has been corrected.
* funcsave -q and funcsave --quiet now work correctly.
* Issues with the csharp and nmcli completions were corrected.
If you are upgrading from version 3.3.1 or before, please also review the
release notes for 3.4.0 (included below).
fish 3.4.0
Notable improvements and fixes:
* fish's command substitution syntax has been extended: $(cmd) now has the
same meaning as (cmd) but it can be used inside double quotes, to prevent
line splitting of the results.
* Complementing the prompt command in 3.3.0, fish_config gained a theme
subcommand to show and pick from the sample themes (meaning color schemes)
directly in the terminal, instead of having to open a Web browser. For
example fish_config theme choose Nord loads the Nord theme in the current
session. The current theme can be saved with fish_config theme dump
, and custom themes can be added by saving them in ~/.config/fish/themes/.
* set and read learned a new option, --function, to set a variable in the
function?s top scope.
* string pad now excludes escape sequences like colors that fish knows about,
and a new --visible flag to string length makes it use that kind of visible
width.
* Performance improvements to globbing, especially on systems using glibc. In
some cases (large directories with files with many numbers in the names)
this almost halves the time taken to expand the glob.
* Autosuggestions can now be turned off by setting
$fish_autosuggestion_enabled to 0, and (almost) all highlighting can be
turned off by choosing the new ?None? theme. The exception is necessary
colors, like those which distinguish autosuggestions from the actual
command line.
* The fish_git_prompt function, which is included in the default prompts, now
overrides git to avoid running commands set by per-repository
configuration. This avoids a potential security issue in some
circumstances, and has been assigned CVE-2022-20001.
Changelog:
Noteworthy changes in release 0.3.0 (2022-02-11)
================================================
New features
- Arithmetic expansion.
- Simple asynchronous commands.
- A language specification is now provided, allowing you to use the
evaluator from the Guile REPL by typing ",L sh".
- Redirects now honor the 'noclobber' option.
- The 'wait' built-in.
- The 'umask' built-in can now display the current umask.
Bug fixes
- An empty command will now reset the status.
- The 'read-sh' procedure now reads from 'current-input-port' by
default (before it used 'current-output-port').
Miscellaneous improvements
- Various performance improvements.
- Word expansion has been split into two steps, paving the way for a
compiler.
- Guile 3.0 is now explicitly supported.
Changes between 5.8 and 5.8.1
Incompatibilities
PROMPT_SUBST expansion is no longer performed on arguments to
prompt-expansion sequences such as %F.
Changes
CVE-2021-45444: Some prompt expansion sequences, such as %F,
support 'arguments' which are themselves expanded in case they
contain colour values, etc. This additional expansion would trigger
PROMPT_SUBST evaluation, if enabled. This could be abused to
execute code the user didn't expect. e.g., given a certain prompt
configuration, an attacker could trick a user into executing
arbitrary code by having them check out a Git branch with a
specially crafted name.
This is fixed in the shell itself by no longer performing
PROMPT_SUBST evaluation on these prompt-expansion arguments.
Users who are concerned about an exploit but unable to update their
binaries may apply the partial work-around described in the file
Etc/CVE-2021-45444-VCS_Info-workaround.patch included with the shell
source. [ Reported by RyotaK. Additional thanks to Marc Cornellà. ]
v1.4.2 (2022-03-10)
Bug Fixes
install: Add -o flag to unzip to match tar (#3727)
Code Refactoring
install: remove trailing slash from BIN_DIR (#3723)
v1.4.1 (2022-03-09)
Build
bump regex from 1.5.4 to 1.5.5 (#3712)
Add /starship.exe.manifest to Cargo.toml include (#3713)
Continuous Integration
Correct dependencies for deploy workflow (#3724)
v1.4.0 (2022-03-08)
Features
-Add a Windows application manifest (#3590)
-kubernetes: add context user and cluster variables (#3569)
Bug Fixes
-use shell-compatible curl install (#3691)
-typo of variable in CONTRIBUTING (#3595)
-Exclude vuepress output from dprint (#3616)
-ignore empty --jobs argument (#3593)
-aws: Only display AWS if there are credentials configured (#3504)
-fish: Emit clear-screen escape sequence only in left prompt (#3588)
-localip: disable localip module default (#3607)
-pwsh: Use global:error[0] for most recent error in powershell (#3584)
-rust: overrides should only check full segments (#3668)
-windows: avoid verbatim paths (#3638)
Docs
-Rename Heading localip -> Local IP (#3612)
-Update Preset system with several additional features (#3683)
-remove enableZshIntegration from homemanager installation (#3671)
-"Local IP" chapter in alphabetical order (#3613)
-fix typo in config/README.md (#3561)
-directory: add missing doc on option directory.repo_root_format (#3550)
-i18n: new Crowdin updates (#3586)
-i18n: new Crowdin updates (#3677)
Code Refactoring
-fix new clippy/compiler warnings (#3656)
Performance Improvements
-git_status: add option to use windows starship to render in wsl (#2146)
-rayon: restrict thread count (#3667)
v0.8.0 - 2021-11-06
Added
* disable=all now conveniently disables all warnings
* external-sources=true directive can be added to .shellcheckrc to make
shellcheck behave as if -x was specified.
* Optional check-extra-masked-returns for pointing out commands with
suppressed exit codes (SC2312).
* Optional require-double-brackets for recommending [[ ]] (SC2292).
* SC2286-SC2288: Warn when command name ends in a symbol like /.)'"
* SC2289: Warn when command name contains tabs or linefeeds
* SC2291: Warn about repeated unquoted spaces between words in echo
* SC2292: Suggest [[ over [ in Bash/Ksh scripts (optional)
* SC2293/SC2294: Warn when calling eval with arrays
* SC2295: Warn about "\({x#\)y}" treating $y as a pattern when not quoted
* SC2296-SC2301: Improved warnings for bad parameter expansions
* SC2302/SC2303: Warn about loops over array values when using them as keys
* SC2304-SC2306: Warn about unquoted globs in expr arguments
* SC2307: Warn about insufficient number of arguments to expr
* SC2308: Suggest other approaches for non-standard expr extensions
* SC2313: Warn about read with unquoted, array indexed variable
Fixed
* SC2102 about repetitions in ranges no longer triggers on [[ -v arr[xx] ]]
* SC2155 now recognizes typeset and local read-only declare statements
* SC2181 now tries to avoid triggering for error handling functions
* SC2290: Warn about misused = in declare & co, which were not caught by
SC2270+
* The flag --color=auto no longer outputs color when TERM is "dumb" or
unset
Changed
* SC2048: Warning about $* now also applies to ${array[*]}
* SC2181 now only triggers on single condition tests like [ $? = 0 ].
* Quote warnings are now emitted for declaration utilities in sh
* Leading _ can now be used to suppress warnings about unused variables
* TTY output now includes warning level in text as well as color
Removed
* SC1004: Literal backslash+linefeed in '' was found to be usually correct
Features
add username to Pulumi module (#3428)
Enable Undistract Me for Linux (#3547)
starship bug-report sets syntax highlighting for config file (#3529)
add a container indicator (#3304)
cli: Print arguments if argument parsing fails (#3560)
cmd_duration: Make notification timeout configurable (#3515)
install: Add posix shell check (#3474)
localip: add module to print the current ipv4 address (#3289)
pwsh: Set ExtraPromptLineCount (#3439)
pwsh: Set STARSHIP_SHELL to pwsh on PS >5 (#3443)
Bug Fixes
Correctly detect older versions of powershell in bug-report (#3543)
bash: Restore previous exit status in bash init (#3521)
elvish: use $pwd for logical-path (#3534)
nodejs: use e718 as the default of symbol in node configuration (#3533)
status: Enable to convert from i64 to hex_status by casting instead of
parsing status. (#3462)
Code Refactoring
Improve compatibility with Zsh prompt theme system (#3480)
zsh: using add-zsh-hook instead of add hook manually (#3537)
Performance Improvements
elvish: Use built-in randint instead of starship session. (#3479)
What's New:
-You can now learn about some of the upcoming changes in Nushell by reading the
tutor e-q page. It will tell you about some of the new features and breaking
changes, as well as link you to the full list of changes.
Fixes:
-Fix to the sample configuration file
-Fix to a crate description
-Bump to some dependencies in wasm support
-Update to sysinfo support
-Fix to build on latest Rust stable + clippy