Summary
Upgrade bash to 5.0 release. This release fixes several outstanding bugs in bash-4.4 and introduces several new features. The most significant bug fixes are an overhaul of how nameref variables resolve and a number of potential out-of-bounds memory errors discovered via fuzzing.
Owner
- Name: Siteshwar Vashisht
- Email: svashisht@redhat.com
- Release notes owner:
Current status
- Targeted release: Fedora 30
- Last updated: 2019-02-11
- Tracker bug: #1675080
- Release notes tracker: #295
Detailed Description
There are a number of changes to the expansion of $@ and $* in various contexts where word splitting is not performed to conform to a Posix standard interpretation, and additional changes to resolve corner cases for Posix conformance.
The most notable new features are several new shell variables: BASH_ARGV0,
EPOCHSECONDS, and EPOCHREALTIME. The history
builtin can remove ranges of
history entries and understands negative arguments as offsets from the end
of the history list. There is an option to allow local variables to inherit
the value of a variable with the same name at a preceding scope. There is
a new shell option that, when enabled, causes the shell to attempt to
expand associative array subscripts only once (this is an issue when they
are used in arithmetic expressions). The `globasciiranges' shell option
is now enabled by default; it can be set to off by default at configuration
time.
There are a few incompatible changes between bash-4.4 and bash-5.0. The changes to how nameref variables are resolved means that some uses of namerefs will behave differently, though upstream has tried to minimize the compatibility issues.
Benefit to Fedora
Bash is the default shell in Fedora and it will benefit from new features and performance improvements of the latest release.
Scope
- Proposal owners: Upgrade bash to 5.0
- Other developers: N/A (not a System Wide Change)
- Release engineering: #Releng issue number (a check of an impact with Release Engineering is needed)
- List of deliverables: N/A (not a System Wide Change)
- Policies and guidelines: N/A (not a System Wide Change)
- Trademark approval: N/A (not needed for this Change)
Upgrade/compatibility impact
Code related to resolving namerefs was changed, so some scripts may break. But impact should be minimum as this release is largely backward compatible.
How To Test
N/A (not a System Wide Change)
User Experience
Dependencies
N/A (not a System Wide Change)
Contingency Plan
- Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
- Contingency deadline: N/A (not a System Wide Change)
- Blocks release? N/A (not a System Wide Change), Yes/No
- Blocks product? product
Documentation
N/A (not a System Wide Change)
Release Notes
https://lists.gnu.org/archive/html/bug-bash/2019-01/msg00063.html