Differences between revisions 30 and 31
Revision 30 as of 2015-10-22 19:29:46
Size: 2657
Editor: GreyCat
Comment:
Revision 31 as of 2015-10-28 20:06:59
Size: 2693
Editor: geirha
Comment: Splitting out 4.4 changes in a separate table until it is released
Deletions are marked like this. Additions are marked like this.
Line 9: Line 9:
A more extensive, partial list than the one below can be found at http://wiki.bash-hackers.org/scripting/bashchanges A more extensive list than the one below can be found at http://wiki.bash-hackers.org/scripting/bashchanges
Line 11: Line 11:
Here's a ''partial'' list of the changes, in a more compact format: === Notable changes in the upcoming bash version ===
Line 14: Line 14:
||[[BashLoadableBuiltins|loadable builtin]] deployment infrastructure||4.4-beta (not released yet)||
||mapfile -d||4.4-alpha (not released yet)||
||[[BashLoadableBuiltins|loadable builtin]] deployment infrastructure||4.4-beta||
||mapfile -d||4.4-alpha||
Line 20: Line 20:

=== Notable changes in released bash versions ===

||'''Feature'''||'''Added in version'''||

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-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

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

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

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

BashFAQ/061 (last edited 2024-03-27 00:26:48 by larryv)