Differences between revisions 32 and 34 (spanning 2 versions)
Revision 32 as of 2016-01-05 11:34:34
Size: 2779
Editor: geirha
Comment: Adding nocasematch
Revision 34 as of 2016-06-28 19:00:48
Size: 4418
Editor: geirha
Comment: Including table of release dates
Deletions are marked like this. Additions are marked like this.
Line 24: Line 24:
||wait -n||4.3-alpha||
||test -R||4.3-alpha||
||declare/typeset -n and associated changes to ${!ref} and for..in||4.3-alpha||
||array[-idx] (in assignments, read, unset, etc)||4.3-alpha||
||\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 (function)||4.0-alpha||
||coproc (keyword)||4.0-alpha||
||globstar (shopt)||4.0-alpha||
||mapfile/readarray (builtin)||4.0-alpha||
||${var,[,]} and ${var&#94;[&#94;]}||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||
||nocasematch (shopt)||3.1-alpha1||
||{x..y}||3.0-alpha||
||${!array[@]}||3.0-alpha||
||[[ =~||3.0-alpha||
||printf %q produces $'...'||2.05b-alpha1||
||<<<||2.05b-alpha1||
||i++||2.04-devel||
||for ((;;))||2.04-devel||
||/dev/fd/N, /dev/tcp/host/port, etc.||2.04-devel||
||read -t, -n, -d and -s||2.04-devel||
||a=(*.txt) file expansion||2.03-alpha||
||extglob (shopt)||2.02-alpha1||
||[[||2.02-alpha1||
||printf (builtin)||2.02-alpha1||
||$(< filename)||2.02-alpha1||
||** (exponentiation)||2.02-alpha1||
||\xNNN||2.02-alpha1||
||(( ))||2.0-beta2||
||wait -n||4.3 (2014)||
||test -R||4.3 (2014)||
||declare/typeset -n and associated changes to ${!ref} and for..in||4.3 (2014)||
||array[-idx] (in assignments, read, unset, etc)||4.3 (2014)||
||\uXXXX and \UXXXXXXXX||4.2 (2011)||
||declare -g||4.2 (2011)||
||test -v||4.2 (2011)||
||printf %(fmt)T||4.2 (2011)||
||${array[-idx]} and ${var:start:-len}||4.2 (2011)||
||lastpipe (shopt)||4.2 (2011)||
||read -N||4.1 (2010)||
||{var}> or {var}< etc. (FD variable assignment)||4.1 (2010)||
||syslog history (compile option)||4.1 (2010)||
||BASH_XTRACEFD||4.1 (2010)||
||;& and ;;& fall-throughs for case||4.0 (2009)||
||associative arrays||4.0 (2009)||
||&>> and |&||4.0 (2009)||
||command_not_found_handle (function)||4.0 (2009)||
||coproc (keyword)||4.0 (2009)||
||globstar (shopt)||4.0 (2009)||
||mapfile/readarray (builtin)||4.0 (2009)||
||${var,[,]} and ${var&#94;[&#94;]}||4.0 (2009)||
||{009..012} (leading zeros in brace expansions)||4.0 (2009)||
||{x..y..incr}||4.0 (2009)||
||read -t 0||4.0 (2009)||
||read -i||4.0 (2009)||
||x+=string array+=(string)||3.1 (2005)||
||printf -v var||3.1 (2005)||
||nocasematch (shopt)||3.1 (2005)||
||{x..y}||3.0 (2004)||
||${!array[@]}||3.0 (2004)||
||[[ =~||3.0 (2004)||
||printf %q produces $'...'||2.05b (2002)||
||<<<||2.05b (2002)||
||i++||2.04 (2000)||
||for ((;;))||2.04 (2000)||
||/dev/fd/N, /dev/tcp/host/port, etc.||2.04 (2000)||
||read -t, -n, -d and -s||2.04 (2000)||
||a=(*.txt) file expansion||2.03 (1999)||
||extglob (shopt)||2.02 (1998)||
||[[||2.02 (1998)||
||printf (builtin)||2.02 (1998)||
||$(< filename)||2.02 (1998)||
||** (exponentiation)||2.02 (1998)||
||\xNNN||2.02 (1998)||
||(( ))||2.0 (1996)||

=== List of bash releases and other notable events ===

|| ```Release``` || ```Date``` ||
||<30%> Shellshock patches are released for bash-2.05b through bash-4.3 || 2014-09-24 to 2014-10-05 ||
|| bash-4.3 || [[http://lists.gnu.org/archive/html/bug-bash/2014-02/msg00081.html|2014-02-27]] ||
|| bash-4.2 || [[http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00134.html|2011-02-14]] ||
|| bash-4.1 || [[http://lists.gnu.org/archive/html/bug-bash/2010-01/msg00000.html|2010-01-02]] ||
|| bash-4.0 || [[http://lists.gnu.org/archive/html/bug-bash/2009-02/msg00164.html|2009-02-23]] ||
|| bash-3.2 || [[http://lists.gnu.org/archive/html/bug-bash/2006-10/msg00057.html|2006-10-12]] ||
|| bash-3.1 || [[http://lists.gnu.org/archive/html/bug-bash/2005-12/msg00018.html|2005-12-09]] ||
|| bash-3.0 || [[http://lists.gnu.org/archive/html/bug-bash/2004-07/msg00255.html|2004-07-27]] ||
|| bash-2.05b || [[http://lists.gnu.org/archive/html/bug-bash/2002-07/msg00169.html|2002-07-17]] ||
|| bash-2.05a || [[http://lists.gnu.org/archive/html/bug-bash/2001-11/msg00086.html|2001-11-15]] ||
|| bash-2.05 || [[http://lists.gnu.org/archive/html/bug-bash/2001-04/msg00047.html|2001-04-09]] ||
||<colspan="2"> bug-bash list archive only goes back to 2000-09-14. Below dates are based on modification times from http://ftp.gnu.org/gnu/bash ||
|| bash-2.04 || 2000-03-21 ||
|| bash-2.03 || 1999-02-19 ||
|| bash-2.02 || 1998-04-18 ||
|| bash-2.01 || 1997-10-02 ||
|| bash-2.0 || 1996-12-31 ||
|| bash-1.14.7 || 1996-08-29 ||

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 list than the one below can be found at http://wiki.bash-hackers.org/scripting/bashchanges

Notable changes in the upcoming bash version

Feature

Added in version

loadable builtin deployment infrastructure

4.4-beta

mapfile -d

4.4-alpha

--help for builtins

4.4-alpha

${var@spec}

4.4-alpha

local -

4.4-alpha

$! and wait for process substitutions

4.4-alpha

Notable changes in released bash versions

Feature

Added in version

wait -n

4.3 (2014)

test -R

4.3 (2014)

declare/typeset -n and associated changes to ${!ref} and for..in

4.3 (2014)

array[-idx] (in assignments, read, unset, etc)

4.3 (2014)

\uXXXX and \UXXXXXXXX

4.2 (2011)

declare -g

4.2 (2011)

test -v

4.2 (2011)

printf %(fmt)T

4.2 (2011)

${array[-idx]} and ${var:start:-len}

4.2 (2011)

lastpipe (shopt)

4.2 (2011)

read -N

4.1 (2010)

{var}> or {var}< etc. (FD variable assignment)

4.1 (2010)

syslog history (compile option)

4.1 (2010)

BASH_XTRACEFD

4.1 (2010)

;& and ;;& fall-throughs for case

4.0 (2009)

associative arrays

4.0 (2009)

&>> and |&

4.0 (2009)

command_not_found_handle (function)

4.0 (2009)

coproc (keyword)

4.0 (2009)

globstar (shopt)

4.0 (2009)

mapfile/readarray (builtin)

4.0 (2009)

${var,[,]} and ${var^[^]}

4.0 (2009)

{009..012} (leading zeros in brace expansions)

4.0 (2009)

{x..y..incr}

4.0 (2009)

read -t 0

4.0 (2009)

read -i

4.0 (2009)

x+=string array+=(string)

3.1 (2005)

printf -v var

3.1 (2005)

nocasematch (shopt)

3.1 (2005)

{x..y}

3.0 (2004)

${!array[@]}

3.0 (2004)

[[ =~

3.0 (2004)

printf %q produces $'...'

2.05b (2002)

<<<

2.05b (2002)

i++

2.04 (2000)

for ((;;))

2.04 (2000)

/dev/fd/N, /dev/tcp/host/port, etc.

2.04 (2000)

read -t, -n, -d and -s

2.04 (2000)

a=(*.txt) file expansion

2.03 (1999)

extglob (shopt)

2.02 (1998)

[[

2.02 (1998)

printf (builtin)

2.02 (1998)

$(< filename)

2.02 (1998)

** (exponentiation)

2.02 (1998)

\xNNN

2.02 (1998)

(( ))

2.0 (1996)

List of bash releases and other notable events

Release

Date

Shellshock patches are released for bash-2.05b through bash-4.3

2014-09-24 to 2014-10-05

bash-4.3

2014-02-27

bash-4.2

2011-02-14

bash-4.1

2010-01-02

bash-4.0

2009-02-23

bash-3.2

2006-10-12

bash-3.1

2005-12-09

bash-3.0

2004-07-27

bash-2.05b

2002-07-17

bash-2.05a

2001-11-15

bash-2.05

2001-04-09

bug-bash list archive only goes back to 2000-09-14. Below dates are based on modification times from http://ftp.gnu.org/gnu/bash

bash-2.04

2000-03-21

bash-2.03

1999-02-19

bash-2.02

1998-04-18

bash-2.01

1997-10-02

bash-2.0

1996-12-31

bash-1.14.7

1996-08-29

BashFAQ/061 (last edited 2024-04-14 22:29:57 by emanuele6)