Changed: When an expansion error occurs, the shell now immediately stops expansion rather than trying to expand the remaining part of the word.
Changed: When there are no positional parameters, "$@""$@" now expands to nothing rather than one empty field, as defined in POSIX.
Changed: Quote removal in arithmetic expansion has been modified to match the behavior defined in POSIX. It no longer allows things like $(("2" + \5)).
Changed: The quotation rules for the substitution word in a parameter expansion inside double-quotes have been changed to match with the behavior of other existing shells. For example, "${x-\a'b'}" now expands to \a'b' rather than ab.
Changed: When there is no command word in a simple command, redirections are now performed in a subshell after assignments are performed.
Changed: The standard input of asynchronous commands in a non-job-control shell is now always implicitly redirected to /dev/null, regardless of whether the standard input has already been redirected.
Changed: Quoted characters are now handled in (almost) the same way as Bash in the regular expression in the [[ word =~ regex ]] syntax.
Fixed: The "command" built-in with the -v or -V option was printing the pathnames of external commands with a redundant leading slash when the current working directory is "/" or "//".
Fixed: Redirections on a subshell command are now evaluated in the current shell rather than in the subshell.
Fixed: When an EXIT trap is executed in a subshell with a redirection, the redirection was incorrectly not being applied to the trap.
Fixed: When job control is off, the "trap" built-in was failing to set a new trap for SIGINT and SIGQUIT in an asynchronous command.
Fixed: When job control is off, SIGINT and SIGQUIT were not being ignored if a trap had been set for the signal the main shell process.
Fixed: In pattern matching, when an unescaped backslash results from an expansion in the pattern, it is now treated as an escape character.
Fixed: When there are no positional parameters, the nested expansion "${{@}}" now expands to nothing rather than one empty field.
Fixed: Unquoted parentheses and vertical bars now can be used in the regular expression in the [[ word =~ regex ]] syntax.