+This is a terse description of the new features added to bash-5.0 since
+the release of bash-4.4. As always, the manual page (doc/bash.1) is
+the place to look for complete descriptions.
+
+1. New Features in Bash
+
+a. The `wait' builtin can now wait for the last process substitution created.
+
+b. There is an EPOCHSECONDS variable, which expands to the time in seconds
+ since the Unix epoch.
+
+c. There is an EPOCHREALTIME variable, which expands to the time in seconds
+ since the Unix epoch with microsecond granularity.
+
+d. New loadable builtins: rm, stat, fdflags.
+
+e. BASH_ARGV0: a new variable that expands to $0 and sets $0 on assignment.
+
+f. When supplied a numeric argument, the shell-expand-line bindable readline
+ command does not perform quote removal and suppresses command and process
+ substitution.
+
+g. `history -d' understands negative arguments: negative arguments offset from
+ the end of the history list.
+
+h. The `name' argument to the `coproc' reserved word now undergoes word
+ expansion, so unique coprocs can be created in loops.
+
+i. A nameref name resolution loop in a function now resolves to a variable by
+ that name in the global scope.
+
+j. The `wait' builtin now has a `-f' option, which signfies to wait until the
+ specified job or process terminates, instead of waiting until it changes
+ state.
+
+k. There is a define in config-top.h that allows the shell to use a static
+ value for $PATH, overriding whatever is in the environment at startup, for
+ use by the restricted shell.
+
+l. Process substitution does not inherit the `v' option, like command
+ substitution.
+
+m. If a non-interactive shell with job control enabled detects that a foreground
+ job died due to SIGINT, it acts as if it received the SIGINT.
+
+n. The SIGCHLD trap is run once for each exiting child process even if job
+ control is not enabled when the shell is in Posix mode.
+
+o. A new shopt option: localvar_inherit; if set, a local variable inherits the
+ value of a variable with the same name at the nearest preceding scope.
+
+p. `bind -r' now checks whether a key sequence is bound before binding it to
+ NULL, to avoid creating keymaps for a multi-key sequence.
+
+q. A numeric argument to the line editing `operate-and-get-next' command
+ specifies which history entry to use.
+
+r. The positional parameters are now assigned before running the shell startup
+ files, so startup files can use $@.
+
+s. There is a compile-time option that forces the shell to disable the check
+ for an inherited OLDPWD being a directory.
+
+t. The `history' builtin can now delete ranges of history entries using
+ `-d start-end'.
+
+u. The `vi-edit-and-execute-command' bindable readline command now puts readline
+ back in vi insertion mode after executing commands from the edited file.
+
+v. The command completion code now matches aliases and shell function names
+ case-insensitively if the readline completion-ignore-case variable is set.
+
+w. There is a new `assoc_expand_once' shell option that attempts to expand
+ associative array subscripts only once.
+
+x. The shell only sets up BASH_ARGV and BASH_ARGC at startup if extended
+ debugging mode is active. The old behavior of unconditionally setting them
+ is available as part of the shell compatibility options.
+
+y. The `umask' builtin now allows modes and masks greater than octal 777.
+
+z. The `times' builtin now honors the current locale when printing a decimal
+ point.
+
+aa. There is a new (disabled by default, undocumented) shell option to enable
+ and disable sending history to syslog at runtime.
+
+bb. Bash no longer allows variable assignments preceding a special builtin that
+ changes variable attributes to propagate back to the calling environment
+ unless the compatibility level is 44 or lower.
+
+cc. You can set the default value for $HISTSIZE at build time in config-top.h.
+
+dd. The `complete' builtin now accepts a -I option that applies the completion
+ to the initial word on the line.
+
+ee. The internal bash malloc now uses mmap (if available) to satisfy requests
+ greater than 128K bytes, so free can use mfree to return the pages to the
+ kernel.
+
+ff. The shell doesn't automatically set BASH_ARGC and BASH_ARGV at startup
+ unless it's in debugging mode, as the documentation has always said, but
+ will dynamically create them if a script references them at the top level
+ without having enabled debugging mode.
+
+gg. The localvar_inherit option will not attempt to inherit a value from a
+ variable of an incompatible type (indexed vs. associative arrays, for
+ example).
+
+hh. The `globasciiranges' option is now enabled by default; it can be set to
+ off by default at configuration time.
+
+ii. Associative and indexed arrays now allow subscripts consisting solely of
+ whitespace.
+
+jj. `checkwinsize' is now enabled by default.
+
+kk. The `localvar_unset' shopt option is now visible and documented.
+
+ll. The `progcomp_alias' shopt option is now visible and documented.
+
+mm. The signal name processing code now understands `SIGRTMIN+n' all the way
+ up to SIGRTMAX.
+
+nn. There is a new `seq' loadable builtin.
+
+oo. Trap execution now honors the (internal) max invocations of `eval', since
+ traps are supposed to be executed as if using `eval'.
+
+pp. The $_ variable doesn't change when the shell executes a command that forks.
+
+qq. The `kill' builtin now supports -sSIGNAME and -nSIGNUM, even though
+ conforming applications aren't supposed to use them.
+
+rr. POSIX mode now enables the `shift_verbose' option.
+
+2. New Features in Readline
+
+a. Non-incremental vi-mode search (`N', `n') can search for a shell pattern, as
+ Posix specifies (uses fnmatch(3) if available).
+
+b. There are new `next-screen-line' and `previous-screen-line' bindable
+ commands, which move the cursor to the same column in the next, or previous,
+ physical line, respectively.
+
+c. There are default key bindings for control-arrow-key key combinations.
+
+d. A negative argument (-N) to `quoted-insert' means to insert the next N
+ characters using quoted-insert.
+
+e. New public function: rl_check_signals(), which allows applications to
+ respond to signals that readline catches while waiting for input using
+ a custom read function.
+
+f. There is new support for conditionally testing the readline version in an
+ inputrc file, with a full set of arithmetic comparison operators available.
+
+g. There is a simple variable comparison facility available for use within an
+ inputrc file. Allowable operators are equality and inequality; string
+ variables may be compared to a value; boolean variables must be compared to
+ either `on' or `off'; variable names are separated from the operator by
+ whitespace.
+
+h. The history expansion library now understands command and process
+ substitution and extended globbing and allows them to appear anywhere in a
+ word.
+
+i. The history library has a new variable that allows applications to set the
+ initial quoting state, so quoting state can be inherited from a previous
+ line.
+
+j. Readline now allows application-defined keymap names; there is a new public
+ function, rl_set_keymap_name(), to do that.
+
+k. The "Insert" keypad key, if available, now puts readline into overwrite
+ mode.
+
+-------------------------------------------------------------------------------
+This is a terse description of the new features added to bash-4.4 since
+the release of bash-4.3. As always, the manual page (doc/bash.1) is
+the place to look for complete descriptions.
+
+1. New Features in Bash
+
+a. There is now a settable configuration #define that will cause the shell
+ to exit if the shell is running setuid without the -p option and setuid
+ to the real uid fails.
+
+b. Command and process substitutions now turn off the `-v' option when
+ executing, as other shells seem to do.
+
+c. The default value for the `checkhash' shell option may now be set at
+ compile time with a #define.
+
+d. The `mapfile' builtin now has a -d option to use an arbitrary character
+ as the record delimiter, and a -t option to strip the delimiter as
+ supplied with -d.
+
+e. The maximum number of nested recursive calls to `eval' is now settable in
+ config-top.h; the default is no limit.
+
+f. The `-p' option to declare and similar builtins will display attributes for
+ named variables even when those variables have not been assigned values
+ (which are technically unset).
+
+g. The maximum number of nested recursive calls to `source' is now settable
+ in config-top.h; the default is no limit.
+
+h. All builtin commands recognize the `--help' option and print a usage
+ summary.
+
+i. Bash does not allow function names containing `/' and `=' to be exported.
+
+j. The `ulimit' builtin has new -k (kqueues) and -P (pseudoterminals) options.
+
+k. The shell now allows `time ; othercommand' to time null commands.
+
+l. There is a new `--enable-function-import' configuration option to allow
+ importing shell functions from the environment; import is enabled by
+ default.
+
+m. `printf -v var ""' will now set `var' to the empty string, as if `var=""'
+ had been executed.
+
+n. GLOBIGNORE, the pattern substitution word expansion, and programmable
+ completion match filtering now honor the value of the `nocasematch' option.
+
+o. There is a new ${parameter@spec} family of operators to transform the
+ value of `parameter'.
+
+p. Bash no longer attempts to perform compound assignment if a variable on the
+ rhs of an assignment statement argument to `declare' has the form of a
+ compound assignment (e.g., w='(word)' ; declare foo=$w); compound
+ assignments are accepted if the variable was already declared as an array,
+ but with a warning.
+
+q. The declare builtin no longer displays array variables using the compound
+ assignment syntax with quotes; that will generate warnings when re-used as
+ input, and isn't necessary.
+
+r. Executing the rhs of && and || will no longer cause the shell to fork if
+ it's not necessary.
+
+s. The `local' builtin takes a new argument: `-', which will cause it to save
+ and the single-letter shell options and restore their previous values at
+ function return.
+
+t. `complete' and `compgen' have a new `-o nosort' option, which forces
+ readline to not sort the completion matches.
+
+u. Bash now allows waiting for the most recent process substitution, since it
+ appears as $!.
+
+v. The `unset' builtin now unsets a scalar variable if it is subscripted with
+ a `0', analogous to the ${var[0]} expansion.
+
+w. `set -i' is no longer valid, as in other shells.
+
+x. BASH_SUBSHELL is now updated for process substitution and group commands
+ in pipelines, and is available with the same value when running any exit
+ trap.
+
+y. Bash now checks $INSIDE_EMACS as well as $EMACS when deciding whether or
+ not bash is being run in a GNU Emacs shell window.
+
+z. Bash now treats SIGINT received when running a non-builtin command in a
+ loop the way it has traditionally treated running a builtin command:
+ running any trap handler and breaking out of the loop.
+
+aa. New variable: EXECIGNORE; a colon-separate list of patterns that will
+ cause matching filenames to be ignored when searching for commands.
+
+bb. Aliases whose value ends in a shell metacharacter now expand in a way to
+ allow them to be `pasted' to the next token, which can potentially change
+ the meaning of a command (e.g., turning `&' into `&&').
+
+cc. `make install' now installs the example loadable builtins and a set of
+ bash headers to use when developing new loadable builtins.
+
+dd. `enable -f' now attempts to call functions named BUILTIN_builtin_load when
+ loading BUILTIN, and BUILTIN_builtin_unload when deleting it. This allows
+ loadable builtins to run initialization and cleanup code.
+
+ee. There is a new BASH_LOADABLES_PATH variable containing a list of directories
+ where the `enable -f' command looks for shared objects containing loadable
+ builtins.
+
+ff. The `complete_fullquote' option to `shopt' changes filename completion to
+ quote all shell metacharacters in filenames and directory names.
+
+gg. The `kill' builtin now has a `-L' option, equivalent to `-l', for
+ compatibility with Linux standalone versions of kill.
+
+hh. BASH_COMPAT and FUNCNEST can be inherited and set from the shell's initial
+ environment.
+
+ii. inherit_errexit: a new `shopt' option that, when set, causes command
+ substitutions to inherit the -e option. By default, those subshells disable
+ -e. It's enabled as part of turning on posix mode.
+
+jj. New prompt string: PS0. Expanded and displayed by interactive shells after
+ reading a complete command but before executing it.
+
+kk. Interactive shells now behave as if SIGTSTP/SIGTTIN/SIGTTOU are set to
+ SIG_DFL when the shell is started, so they are set to SIG_DFL in child
+ processes.
+
+ll. Posix-mode shells now allow double quotes to quote the history expansion
+ character.
+
+mm. OLDPWD can be inherited from the environment if it names a directory.
+
+nn. Shells running as root no longer inherit PS4 from the environment, closing
+ a security hole involving PS4 expansion performing command substitution.
+
+oo. If executing an implicit `cd' when the `autocd' option is set, bash will
+ now invoke a function named `cd' if one exists before executing the `cd'
+ builtin.
+
+pp. Value conversions (arithmetic expansions, case modification, etc.) now
+ happen when assigning elements of an array using compound assignment.
+
+qq. There is a new option settable in config-top.h that makes multiple
+ directory arguments to `cd' a fatal error.
+
+rr. Bash now uses mktemp() when creating internal temporary files; it produces
+ a warning at build time on many Linux systems.
+
+2. New Features in Readline
+
+a. The history truncation code now uses the same error recovery mechansim as
+ the history writing code, and restores the old version of the history file
+ on error. The error recovery mechanism handles symlinked history files.
+
+b. There is a new bindable variable, `enable-bracketed-paste', which enables
+ support for a terminal's bracketed paste mode.
+
+c. The editing mode indicators can now be strings and are user-settable
+ (new `emacs-mode-string', `vi-cmd-mode-string' and `vi-ins-mode-string'
+ variables). Mode strings can contain invisible character sequences.
+ Setting mode strings to null strings restores the defaults.
+
+d. Prompt expansion adds the mode string to the last line of a multi-line
+ prompt (one with embedded newlines).
+
+e. There is a new bindable variable, `colored-completion-prefix', which, if
+ set, causes the common prefix of a set of possible completions to be
+ displayed in color.
+
+f. There is a new bindable command `vi-yank-pop', a vi-mode version of emacs-
+ mode yank-pop.
+
+g. The redisplay code underwent several efficiency improvements for multibyte
+ locales.
+
+h. The insert-char function attempts to batch-insert all pending typeahead
+ that maps to self-insert, as long as it is coming from the terminal.
+
+i. rl_callback_sigcleanup: a new application function that can clean up and
+ unset any state set by readline's callback mode. Intended to be used
+ after a signal.
+
+j. If an incremental search string has its last character removed with DEL, the
+ resulting empty search string no longer matches the previous line.
+
+k. If readline reads a history file that begins with `#' (or the value of
+ the history comment character) and has enabled history timestamps, the
+ history entries are assumed to be delimited by timestamps. This allows
+ multi-line history entries.
+
+l. Readline now throws an error if it parses a key binding without a
+ terminating `:' or whitespace.
+
+m. The default binding for ^W in vi mode now uses word boundaries specified
+ by Posix (vi-unix-word-rubout is bindable command name).
+
+n. rl_clear_visible_line: new application-callable function; clears all
+ screen lines occupied by the current visible readline line.
+
+o. rl_tty_set_echoing: application-callable function that controls whether
+ or not readline thinks it is echoing terminal output.
+
+p. Handle >| and strings of digits preceding and following redirection
+ specifications as single tokens when tokenizing the line for history
+ expansion.
+
+q. Fixed a bug with displaying completions when the prefix display length
+ is greater than the length of the completions to be displayed.
+
+r. The :p history modifier now applies to the entire line, so any expansion
+ specifying :p causes the line to be printed instead of expanded.
+
+s. New application-callable function: rl_pending_signal(): returns the signal
+ number of any signal readline has caught but not yet handled.
+
+t. New application-settable variable: rl_persistent_signal_handlers: if set
+ to a non-zero value, readline will enable the readline-6.2 signal handler
+ behavior in callback mode: handlers are installed when
+ rl_callback_handler_install is called and removed removed when a complete
+ line has been read.
+
+-------------------------------------------------------------------------------
+This is a terse description of the new features added to bash-4.3 since
+the release of bash-4.2. As always, the manual page (doc/bash.1) is
+the place to look for complete descriptions.
+
+1. New Features in Bash
+
+a. The `helptopic' completion action now maps to all the help topics, not just
+ the shell builtins.
+
+b. The `help' builtin no longer does prefix substring matching first, so
+ `help read' does not match `readonly', but will do it if exact string
+ matching fails.
+
+c. The shell can be compiled to not display a message about processes that
+ terminate due to SIGTERM.
+
+d. Non-interactive shells now react to the setting of checkwinsize and set
+ LINES and COLUMNS after a foreground job exits.
+
+e. There is a new shell option, `globasciiranges', which, when set to on,
+ forces globbing range comparisons to use character ordering as if they
+ were run in the C locale.
+
+f. There is a new shell option, `direxpand', which makes filename completion
+ expand variables in directory names in the way bash-4.1 did.
+
+g. In Posix mode, the `command' builtin does not change whether or not a
+ builtin it shadows is treated as an assignment builtin.
+
+h. The `return' and `exit' builtins accept negative exit status arguments.
+
+i. The word completion code checks whether or not a filename containing a
+ shell variable expands to a directory name and appends `/' to the word
+ as appropriate. The same code expands shell variables in command names
+ when performing command completion.
+
+j. In Posix mode, it is now an error to attempt to define a shell function
+ with the same name as a Posix special builtin.
+
+k. When compiled for strict Posix conformance, history expansion is disabled
+ by default.
+
+l. The history expansion character (!) does not cause history expansion when
+ followed by the closing quote in a double-quoted string.
+
+m. `complete' and its siblings compgen/compopt now takes a new `-o noquote'
+ option to inhibit quoting of the completions.
+
+n. Setting HISTSIZE to a value less than zero causes the history list to be
+ unlimited (setting it 0 zero disables the history list).
+
+o. Setting HISTFILESIZE to a value less than zero causes the history file size
+ to be unlimited (setting it to 0 causes the history file to be truncated
+ to zero size).
+
+p. The `read' builtin now skips NUL bytes in the input.
+
+q. There is a new `bind -X' option to print all key sequences bound to Unix
+ commands.
+
+r. When in Posix mode, `read' is interruptible by a trapped signal. After
+ running the trap handler, read returns 128+signal and throws away any
+ partially-read input.
+
+s. The command completion code skips whitespace and assignment statements
+ before looking for the command name word to be completed.
+
+t. The build process has a new mechanism for constructing separate help files
+ that better reflects the current set of compilation options.
+
+u. The -nt and -ot options to test now work with files with nanosecond
+ timestamp resolution.
+
+v. The shell saves the command history in any shell for which history is
+ enabled and HISTFILE is set, not just interactive shells.
+
+w. The shell has `nameref' variables and new -n(/+n) options to declare and
+ unset to use them, and a `test -R' option to test for them.
+
+x. The shell now allows assigning, referencing, and unsetting elements of
+ indexed arrays using negative subscripts (a[-1]=2, echo ${a[-1]}) which
+ count back from the last element of the array.
+
+y. The {x}<word redirection feature now allows words like {array[ind]} and
+ can use variables with special meanings to the shell (e.g., BASH_XTRACEFD).
+
+z. There is a new CHILD_MAX special shell variable; its value controls the
+ number of exited child statues the shell remembers.
+
+aa. There is a new configuration option (--enable-direxpand-default) that
+ causes the `direxpand' shell option to be enabled by default.
+
+bb. Bash does not do anything special to ensure that the file descriptor
+ assigned to X in {x}<foo remains open after the block containing it
+ completes.
+
+cc. The `wait' builtin has a new `-n' option to wait for the next child to
+ change status.
+
+dd. The `printf' %(...)T format specifier now uses the current time if no
+ argument is supplied.
+
+ee. There is a new variable, BASH_COMPAT, that controls the current shell
+ compatibility level.
+
+ff. The `popd' builtin now treats additional arguments as errors.
+
+gg. The brace expansion code now treats a failed sequence expansion as a
+ simple string and will continue to expand brace terms in the remainder
+ of the word.
+
+hh. Shells started to run process substitutions now run any trap set on EXIT.
+
+ii. The fc builtin now interprets -0 as the current command line.
+
+jj. Completing directory names containing shell variables now adds a trailing
+ slash if the expanded result is a directory.
+
+kk. `cd' has a new `-@' option to browse a file's extended attributes on
+ systems that support O_XATTR.
+
+ll. The test/[/[[ `-v variable' binary operator now understands array
+ references.
+
+2. New Features in Readline
+
+a. Readline is now more responsive to SIGHUP and other fatal signals when
+ reading input from the terminal or performing word completion but no
+ longer attempts to run any not-allowable functions from a signal handler
+ context.
+
+b. There are new bindable commands to search the history for the string of
+ characters between the beginning of the line and the point
+ (history-substring-search-forward, history-substring-search-backward)
+
+c. Readline allows quoted strings as the values of variables when setting
+ them with `set'. As a side effect, trailing spaces and tabs are ignored
+ when setting a string variable's value.
+
+d. The history library creates a backup of the history file when writing it
+ and restores the backup on a write error.
+
+e. New application-settable variable: rl_filename_stat_hook: a function called
+ with a filename before using it in a call to stat(2). Bash uses it to
+ expand shell variables so things like $HOME/Downloads have a slash
+ appended.
+
+f. New bindable function `print-last-kbd-macro', prints the most-recently-
+ defined keyboard macro in a reusable format.
+
+g. New user-settable variable `colored-stats', enables use of colored text
+ to denote file types when displaying possible completions (colored analog
+ of visible-stats).
+
+h. New user-settable variable `keyseq-timout', acts as an inter-character
+ timeout when reading input or incremental search strings.
+
+i. New application-callable function: rl_clear_history. Clears the history list
+ and frees all readline-associated private data.
+
+j. New user-settable variable, show-mode-in-prompt, adds a characters to the
+ beginning of the prompt indicating the current editing mode.
+
+k. New application-settable variable: rl_input_available_hook; function to be
+ called when readline detects there is data available on its input file
+ descriptor.
+
+l. Readline calls an application-set event hook (rl_event_hook) after it gets
+ a signal while reading input (read returns -1/EINTR but readline does not
+ handle the signal immediately) to allow the application to handle or
+ otherwise note it.
+
+m. If the user-settable variable `history-size' is set to a value less than
+ 0, the history list size is unlimited.
+
+n. New application-settable variable: rl_signal_event_hook; function that is
+ called when readline is reading terminal input and read(2) is interrupted
+ by a signal. Currently not called for SIGHUP or SIGTERM.
+
+o. rl_change_environment: new application-settable variable that controls
+ whether or not Readline modifies the environment (currently readline
+ modifies only LINES and COLUMNS).
+
+-------------------------------------------------------------------------------
+This is a terse description of the new features added to bash-4.2 since
+the release of bash-4.1. As always, the manual page (doc/bash.1) is
+the place to look for complete descriptions.
+
+1. New Features in Bash
+
+a. `exec -a foo' now sets $0 to `foo' in an executable shell script without a
+ leading #!.
+
+b. Subshells begun to execute command substitutions or run shell functions or
+ builtins in subshells do not reset trap strings until a new trap is
+ specified. This allows $(trap) to display the caller's traps and the
+ trap strings to persist until a new trap is set.
+
+c. `trap -p' will now show signals ignored at shell startup, though their
+ disposition still cannot be modified.
+
+d. $'...', echo, and printf understand \uXXXX and \UXXXXXXXX escape sequences.
+
+e. declare/typeset has a new `-g' option, which creates variables in the
+ global scope even when run in a shell function.
+
+f. test/[/[[ have a new -v variable unary operator, which returns success if
+ `variable' has been set.
+
+g. Posix parsing changes to allow `! time command' and multiple consecutive
+ instances of `!' (which toggle) and `time' (which have no cumulative
+ effect).
+
+h. Posix change to allow `time' as a command by itself to print the elapsed
+ user, system, and real times for the shell and its children.
+
+j. $((...)) is always parsed as an arithmetic expansion first, instead of as
+ a potential nested command substitution, as Posix requires.
+
+k. A new FUNCNEST variable to allow the user to control the maximum shell
+ function nesting (recursive execution) level.
+
+l. The mapfile builtin now supplies a third argument to the callback command:
+ the line about to be assigned to the supplied array index.
+
+m. The printf builtin has a new %(fmt)T specifier, which allows time values
+ to use strftime-like formatting.
+
+n. There is a new `compat41' shell option.
+
+o. The cd builtin has a new Posix-mandated `-e' option.
+
+p. Negative subscripts to indexed arrays, previously errors, now are treated
+ as offsets from the maximum assigned index + 1.
+
+q. Negative length specifications in the ${var:offset:length} expansion,
+ previously errors, are now treated as offsets from the end of the variable.
+
+r. Parsing change to allow `time -p --'.
+
+s. Posix-mode parsing change to not recognize `time' as a keyword if the
+ following token begins with a `-'. This means no more Posix-mode
+ `time -p'. Posix interpretation 267.
+
+t. There is a new `lastpipe' shell option that runs the last command of a
+ pipeline in the current shell context. The lastpipe option has no
+ effect if job control is enabled.
+
+u. History expansion no longer expands the `$!' variable expansion.
+
+v. Posix mode shells no longer exit if a variable assignment error occurs
+ with an assignment preceding a command that is not a special builtin.
+
+w. Non-interactive mode shells exit if -u is enabled and an attempt is made
+ to use an unset variable with the % or # expansions, the `//', `^', or
+ `,' expansions, or the parameter length expansion.
+
+x. Posix-mode shells use the argument passed to `.' as-is if a $PATH search
+ fails, effectively searching the current directory. Posix-2008 change.
+
+2. New Features in Readline
+
+a. The history library does not try to write the history filename in the
+ current directory if $HOME is unset. This closes a potential security
+ problem if the application does not specify a history filename.
+
+b. New bindable variable `completion-display-width' to set the number of
+ columns used when displaying completions.
+
+c. New bindable variable `completion-case-map' to cause case-insensitive
+ completion to treat `-' and `_' as identical.
+
+d. There are new bindable vi-mode command names to avoid readline's case-
+ insensitive matching not allowing them to be bound separately.
+
+e. New bindable variable `menu-complete-display-prefix' causes the menu
+ completion code to display the common prefix of the possible completions
+ before cycling through the list, instead of after.
+
+-------------------------------------------------------------------------------
This is a terse description of the new features added to bash-4.1 since
the release of bash-4.0. As always, the manual page (doc/bash.1) is
the place to look for complete descriptions.