+ The "shift" built-in now accepts negative counts.
+ New completion script for: git-notes, git-reflog, git-worktree
= The non-interactive shell now exits on an assignment error in a simple command without a command name.
= The exit status is now non-zero when a for loop has been interrupted because of an read-only variable.
= When there is no positional parameter, the word """$@" is now expanded to an empty word, producing the same result as "$@""".
= The behavior of field splitting has been modified to match the intended interpretation of POSIX: If field splitting yields more than one field and the last field is empty, the last field is now removed.
= The "read" built-in now removes leading whitespaces when assigning the last input value to the variable.
= The first character of $IFS is now always used as a separator when concatenating positional parameters. Previously, $IFS was ignored in some corner cases.
* Unclosed process redirections are now detected as syntax error.
* When $ECHO_STYLE was GNU or ZSH, the "echo" built-in was incorrectly ignoring single hyphen operands.
* The "typeset" built-in was crashing when used with a temporary assignment to a variable not specified in the built-in operands.
* In the "typeset" built-in, the -r option was not effective when printing functions.
* The "typeset" built-in now detects combination of the -f and -g options as an error.
* The "fg" and "bg" built-ins no longer try to resume a non-job- controlled job when given no operand.
* In range brace expansion, integers were not always parsed correctly.
* The "fc" built-in was not handling the history range correctly when the range was specified with an unused entry number.
* The "fc" built-in was incorrectly rejecting the syntax of the form "fc -s foo=bar n".
* The interactive shell was unexpectedly forgetting the exit status of background jobs when reporting the job status.
* Fixed potential undefined behavior during reading a history file.
* Parameter expansions of the form ${foo/bar/baz} are now rejected in the POSIXly-correct mode, as documented in the manual.
* Single- or double-quoted empty words were incorrectly being removed in field splitting.
* Backslash escapes are now recognized in parameter indexes.