+This is a terse description of the new features added to bash-2.05 since
+the release of bash-2.04. As always, the manual page (doc/bash.1) is
+the place to look for complete descriptions.
+
+1. New Features in Bash
+
+a. Added a new `--init-file' invocation argument as a synonym for `--rcfile',
+ per the new GNU coding standards.
+
+b. The /dev/tcp and /dev/udp redirections now accept service names as well as
+ port numbers.
+
+c. `complete' and `compgen' now take a `-o value' option, which controls some
+ of the aspects of that compspec. Valid values are:
+
+ default - perform bash default completion if programmable
+ completion produces no matches
+ dirnames - perform directory name completion if programmable
+ completion produces no matches
+ filenames - tell readline that the compspec produces filenames,
+ so it can do things like append slashes to
+ directory names and suppress trailing spaces
+
+d. A new loadable builtin, realpath, which canonicalizes and expands symlinks
+ in pathname arguments.
+
+e. When `set' is called without options, it prints function defintions in a
+ way that allows them to be reused as input. This affects `declare' and
+ `declare -p' as well. This only happens when the shell is not in POSIX
+ mode, since POSIX.2 forbids this behavior.
+
+f. Bash-2.05 once again honors the current locale setting when processing
+ ranges within pattern matching bracket expressions (e.g., [A-Z]).
+
+2. New Features in Readline
+
+a. The blink timeout for paren matching is now settable by applications,
+ via the rl_set_paren_blink_timeout() function.
+
+b. _rl_executing_macro has been renamed to rl_executing_macro, which means
+ it's now part of the public interface.
+
+c. Readline has a new variable, rl_readline_state, which is a bitmap that
+ encapsulates the current state of the library; intended for use by
+ callbacks and hook functions.
+
+d. New application-callable function rl_set_prompt(const char *prompt):
+ expands its prompt string argument and sets rl_prompt to the result.
+
+e. New application-callable function rl_set_screen_size(int rows, int cols):
+ public method for applications to set readline's idea of the screen
+ dimensions.
+
+f. New function, rl_get_screen_size (int *rows, int *columns), returns
+ readline's idea of the screen dimensions.
+
+g. The timeout in rl_gather_tyi (readline keyboard input polling function)
+ is now settable via a function (rl_set_keyboard_input_timeout()).
+
+h. Renamed the max_input_history variable to history_max_entries; the old
+ variable is maintained for backwards compatibility.
+
+i. The list of characters that separate words for the history tokenizer is
+ now settable with a variable: history_word_delimiters. The default
+ value is as before.
+
+-------------------------------------------------------------------------------
+This is a terse description of the new features added to bash-2.04 since
+the release of bash-2.03. As always, the manual page (doc/bash.1) is
+the place to look for complete descriptions.
+
+1. New Features in Bash
+
+a. The history builtin has a `-d offset' option to delete the history entry
+ at position `offset'.
+
+b. The prompt expansion code has two new escape sequences: \j, the number of
+ active jobs; and \l, the basename of the shell's tty device name.
+
+c. The `bind' builtin has a new `-x' option to bind key sequences to shell
+ commands.
+
+d. There is a new shell option, no_empty_command_completion, which, when
+ enabled, disables command completion when TAB is typed on an empty line.
+
+e. The `help' builtin has a `-s' option to just print a builtin's usage
+ synopsis.
+
+f. There are several new arithmetic operators: id++, id-- (variable
+ post-increment/decrement), ++id, --id (variabl pre-increment/decrement),
+ expr1 , expr2 (comma operator).
+
+g. There is a new ksh-93 style arithmetic for command:
+ for ((expr1 ; expr2; expr3 )); do list; done
+
+h. The `read' builtin has a number of new options:
+ -t timeout only wait timeout seconds for input
+ -n nchars only read nchars from input instead of a full line
+ -d delim read until delim rather than newline
+ -s don't echo input chars as they are read
+
+i. The redirection code now handles several filenames specially:
+ /dev/fd/N, /dev/stdin, /dev/stdout, and /dev/stderr, whether or
+ not they are present in the file system.
+
+j. The redirection code now recognizes pathnames of the form
+ /dev/tcp/host/port and /dev/udp/host/port, and tries to open a socket
+ of the appropriate type to the specified port on the specified host.
+
+k. The ksh-93 ${!prefix*} expansion, which expands to the names of all
+ shell variables with prefix PREFIX, has been implemented.
+
+l. There is a new dynamic variable, FUNCNAME, which expands to the name of
+ a currently-executing function. Assignments to FUNCNAME have no effect.
+
+m. The GROUPS variable is no longer readonly; assignments to it are silently
+ discarded. This means it can be unset.
+
+n. A new programmable completion facility, with two new builtin commands:
+ complete and compgen.
+
+o. configure has a new option, `--enable-progcomp', to compile in the
+ programmable completion features (enabled by default).
+
+p. `shopt' has a new option, `progcomp', to enable and disable programmable
+ completion at runtime.
+
+q. Unsetting HOSTFILE now clears the list of hostnames used for completion.
+
+r. configure has a new option, `--enable-bash-malloc', replacing the old
+ `--with-gnu-malloc' (which is still present for backwards compatibility).
+
+s. There is a new manual page describing rbash, the restricted shell.
+
+t. `bashbug' has new `--help' and `--version' options.
+
+u. `shopt' has a new `xpg_echo' option, which controls the behavior of
+ `echo' with respect to backslash-escaped characters at runtime.
+
+v. If NON_INTERACTIVE_LOGIN_SHELLS is defined, all login shells read the
+ startup files, even if they are not interactive.
+
+w. The LC_NUMERIC variable is now treated specially, and used to set the
+ LC_NUMERIC locale category for number formatting, e.g., when `printf'
+ displays floating-point numbers.
+
+2. New features in Readline
+
+a. Parentheses matching is now always compiled into readline, and enabled
+ or disabled when the value of the `blink-matching-paren' variable is
+ changed.
+
+b. MS-DOS systems now use ~/_inputrc as the last-ditch inputrc filename.
+
+c. MS-DOS systems now use ~/_history as the default history file.
+
+d. history-search-{forward,backward} now leave the point at the end of the
+ line when the string to search for is empty, like
+ {reverse,forward}-search-history.
+
+e. history-search-{forward,backward} now leave the last history line found
+ in the readline buffer if the second or subsequent search fails.
+
+f. New function for use by applications: rl_on_new_line_with_prompt, used
+ when an application displays the prompt itself before calling readline().
+
+g. New variable for use by applications: rl_already_prompted. An application
+ that displays the prompt itself before calling readline() must set this to
+ a non-zero value.
+
+h. A new variable, rl_gnu_readline_p, always 1. The intent is that an
+ application can verify whether or not it is linked with the `real'
+ readline library or some substitute.
+
+-------------------------------------------------------------------------------
+This is a terse description of the new features added to bash-2.03 since
+the release of bash-2.02. As always, the manual page (doc/bash.1) is
+the place to look for complete descriptions.
+
+1. New Features in Bash
+
+a. New `shopt' option, `restricted_shell', indicating whether or not the
+ shell was started in restricted mode, for use in startup files.
+
+b. Filename generation is now performed on the words between ( and ) in
+ array assignments (which it probably should have done all along).
+
+c. OLDPWD is now auto-exported, as POSIX.2 seems to require.
+
+d. ENV and BASH_ENV are read-only variables in a restricted shell.
+
+e. A change was made to the startup file code so that any shell begun with
+ the `--login' option, even non-interactive shells, will source the login
+ shell startup files.
+
+2. New Features in Readline
+
+a. Many changes to the signal handling:
+ o Readline now catches SIGQUIT and cleans up the tty before returning;
+ o A new variable, rl_catch_signals, is available to application writers
+ to indicate to readline whether or not it should install its own
+ signal handlers for SIGINT, SIGTERM, SIGQUIT, SIGALRM, SIGTSTP,
+ SIGTTIN, and SIGTTOU;
+ o A new variable, rl_catch_sigwinch, is available to application
+ writers to indicate to readline whether or not it should install its
+ own signal handler for SIGWINCH, which will chain to the calling
+ applications's SIGWINCH handler, if one is installed;
+ o There is a new function, rl_free_line_state, for application signal
+ handlers to call to free up the state associated with the current
+ line after receiving a signal;
+ o There is a new function, rl_cleanup_after_signal, to clean up the
+ display and terminal state after receiving a signal;
+ o There is a new function, rl_reset_after_signal, to reinitialize the
+ terminal and display state after an application signal handler
+ returns and readline continues
+
+b. There is a new function, rl_resize_terminal, to reset readline's idea of
+ the screen size after a SIGWINCH.
+
+c. New public functions: rl_save_prompt and rl_restore_prompt. These were
+ previously private functions with a `_' prefix.
+
+d. New function hook: rl_pre_input_hook, called just before readline starts
+ reading input, after initialization.
+
+e. New function hook: rl_display_matches_hook, called when readline would
+ display the list of completion matches. The new function
+ rl_display_match_list is what readline uses internally, and is available
+ for use by application functions called via this hook.
+
+f. New bindable function, delete-char-or-list, like tcsh.
+
+g. A new variable, rl_erase_empty_line, which, if set by an application using
+ readline, will cause readline to erase, prompt and all, lines on which the
+ only thing typed was a newline.
+
+h. New bindable variable: `isearch-terminators'.
+
+i. New bindable function: `forward-backward-delete-char' (unbound by default).
+
+-------------------------------------------------------------------------------
+This is a terse description of the new features added to bash-2.02 since
+the release of bash-2.01.1. As always, the manual page (doc/bash.1) is
+the place to look for complete descriptions.
+
+1. New Features in Bash
+
+a. A new version of malloc, based on the older GNU malloc, that has many
+ changes, is more page-based, is more conservative with memory usage,
+ and does not `orphan' large blocks when they are freed.
+
+b. A new version of gmalloc, based on the old GLIBC malloc, with many
+ changes and range checking included by default.
+
+c. A new implementation of fnmatch(3) that includes full POSIX.2 Basic
+ Regular Expression matching, including character classes, collating
+ symbols, equivalence classes, and support for case-insensitive pattern
+ matching.
+
+d. ksh-88 egrep-style extended pattern matching ([@+*?!](patlist)) has been
+ implemented, controlled by a new `shopt' option, `extglob'.
+
+e. There is a new ksh-like `[[' compound command, which implements
+ extended `test' functionality.
+
+f. There is a new `printf' builtin, implemented according to the POSIX.2
+ specification.
+
+g. There is a new feature for command substitution: $(< filename) now expands
+ to the contents of `filename', with any trailing newlines removed
+ (equivalent to $(cat filename)).
+
+h. There are new tilde prefixes which expand to directories from the
+ directory stack.
+
+i. There is a new `**' arithmetic operator to do exponentiation.
+
+j. There are new configuration options to control how bash is linked:
+ `--enable-profiling', to allow bash to be profiled with gprof, and
+ `--enable-static-link', to allow bash to be linked statically.
+
+k. There is a new configuration option, `--enable-cond-command', which
+ controls whether or not the `[[' command is included. It is on by
+ default.
+
+l. There is a new configuration option, `--enable-extended-glob', which
+ controls whether or not the ksh extended globbing feature is included.
+ It is enabled by default.
+
+m. There is a new configuration #define in config.h.top that, when enabled,
+ will cause all login shells to source /etc/profile and one of the user-
+ specific login shell startup files, whether or not the shell is
+ interactive.
+
+n. There is a new invocation option, `--dump-po-strings', to dump
+ a shell script's translatable strings ($"...") in GNU `po' format.
+
+o. There is a new `shopt' option, `nocaseglob', to enable case-insensitive
+ pattern matching when globbing filenames and using the `case' construct.
+
+p. There is a new `shopt' option, `huponexit', which, when enabled, causes
+ the shell to send SIGHUP to all jobs when an interactive login shell
+ exits.
+
+q. `bind' has a new `-u' option, which takes a readline function name as an
+ argument and unbinds all key sequences bound to that function in a
+ specified keymap.
+
+r. `disown' now has `-a' and `-r' options, to limit operation to all jobs
+ and running jobs, respectively.
+
+s. The `shopt' `-p' option now causes output to be displayed in a reusable
+ format.
+
+t. `test' has a new `-N' option, which returns true if the filename argument
+ has been modified since it was last accessed.
+
+u. `umask' now has a `-p' option to print output in a reusable format.
+
+v. A new escape sequence, `\xNNN', has been added to the `echo -e' and $'...'
+ translation code. It expands to the character whose ascii code is NNN
+ in hexadecimal.
+
+w. The prompt string expansion code has a new `\r' escape sequence.
+
+x. The shell may now be cross-compiled for the CYGWIN32 environment on
+ a Unix machine.
+
+2. New Features in Readline
+
+a. There is now an option for `iterative' yank-last-arg handline, so a user
+ can keep entering `M-.', yanking the last argument of successive history
+ lines.
+
+b. New variable, `print-completions-horizontally', which causes completion
+ matches to be displayed across the screen (like `ls -x') rather than up
+ and down the screen (like `ls').
+
+c. New variable, `completion-ignore-case', which causes filename completion
+ and matching to be performed case-insensitively.
+
+d. There is a new bindable command, `magic-space', which causes history
+ expansion to be performed on the current readline buffer and a space to
+ be inserted into the result.
+
+e. There is a new bindable command, `menu-complete', which enables tcsh-like
+ menu completion (successive executions of menu-complete insert a single
+ completion match, cycling through the list of possible completions).
+
+f. There is a new bindable command, `paste-from-clipboard', for use on Win32
+ systems, to insert the text from the Win32 clipboard into the editing
+ buffer.
+
+g. The key sequence translation code now understands printf-style backslash
+ escape sequences, including \NNN octal escapes. These escape sequences
+ may be used in key sequence definitions or macro values.
+
+h. An `$include' inputrc file parser directive has been added.
+
+-------------------------------------------------------------------------------
+This is a terse description of the new features added to bash-2.01 since
+the release of bash-2.0. As always, the manual page (doc/bash.1) is the
+place to look for complete descriptions.
+
+1. New Features in Bash
+
+a. There is a new builtin array variable: GROUPS, the set of groups to which
+ the user belongs. This is used by the test suite.
+
+2. New Features in Readline
+
+a. If a key sequence bound to `universal-argument' is read while reading a
+ numeric argument started with `universal-argument', it terminates the
+ argument but is otherwise ignored. This provides a way to insert multiple
+ instances of a digit string, and is how GNU emacs does it.
+
+-------------------------------------------------------------------------------