Is there a list of which features were added to specific releases (versions) of Bash?
Here are some links to official Bash documentation:
NEWS: a file tersely listing the notable changes between the current and previous versions
CHANGES: a "complete" bash change history (back to 2.0 only)
COMPAT: compatibility issues between bash3 and previous versions
A more extensive, partial list than the one below can be found at http://wiki.bash-hackers.org/scripting/bashchanges
Here's a partial list of the changes, in a more compact format:
Feature |
Added in version |
\uXXXX and \UXXXXXXXX |
4.2-alpha |
declare -g |
4.2-alpha |
test -v |
4.2-alpha |
printf %(fmt)T |
4.2-alpha |
array[-idx] and ${var:start:-len} |
4.2-alpha |
lastpipe (shopt) |
4.2-alpha |
read -N |
4.1-alpha |
{var}> or {var}< etc. (FD variable assignment) |
4.1-alpha |
syslog history (compile option) |
4.1-alpha |
BASH_XTRACEFD |
4.1-alpha |
;& and ;;& fall-throughs for case |
4.0-alpha |
associative arrays |
4.0-alpha |
&>> and |& |
4.0-alpha |
command_not_found_handle |
4.0-alpha |
coproc |
4.0-alpha |
globstar |
4.0-alpha |
mapfile/readarray |
4.0-alpha |
${var,[,]} and ${var^[^]} |
4.0-alpha |
{009..012} (leading zeros in brace expansions) |
4.0-alpha |
{x..y..incr} |
4.0-alpha |
read -t 0 |
4.0-alpha |
read -i |
4.0-alpha |
x+=string array+=(string) |
3.1-alpha1 |
printf -v var |
3.1-alpha1 |
{x..y} |
3.0-alpha |
${!array[@]} |
3.0-alpha |
[[ =~ |
3.0-alpha |
<<< |
2.05b-alpha1 |
i++ |
2.04-devel |
for ((;;)) |
2.04-devel |
/dev/fd/N, /dev/tcp/host/port, etc. |
2.04-devel |
a=(*.txt) file expansion |
2.03-alpha |
extglob |
2.02-alpha1 |
[[ |
2.02-alpha1 |
builtin printf |
2.02-alpha1 |
$(< filename) |
2.02-alpha1 |
** (exponentiation) |
2.02-alpha1 |
\xNNN |
2.02-alpha1 |
(( )) |
2.0-beta2 |