Si usted, como yo, está buscando las características principales en lugar del registro de cambios completo, esta publicación del mantenedor, Chet Ramey, lo repasa. Aquí está la sección interesante:
Esta versión corrige varios errores pendientes en bash-4.4 e introduce varias características nuevas. Las correcciones de errores más importantes son una revisión de cómo se resuelven las variables nameref y una serie de posibles errores de memoria fuera de los límites descubiertos mediante fuzzing. Hay una serie de cambios en la expansión de $ @ y $ * en varios contextos donde la división de palabras no se realiza para cumplir con una interpretación estándar de Posix, y cambios adicionales para resolver casos de esquina para la conformidad de Posix.
Las nuevas características más notables son varias variables de shell nuevas: BASH_ARGV0, EPOCHSECONDS y EPOCHREALTIME. El "historial" integrado puede eliminar rangos de entradas de historial y entiende los argumentos negativos como compensaciones desde el final de la lista de historial. Hay una opción para permitir que las variables locales hereden el valor de una variable con el mismo nombre en un ámbito anterior. Hay una nueva opción de shell que, cuando está habilitada, hace que el shell intente expandir los subíndices de matriz asociativa solo una vez (esto es un problema cuando se usan en expresiones aritméticas). La opción de shell `globasciiranges 'ahora está habilitada por defecto; puede establecerse en apagado de forma predeterminada en el momento de la configuración.
Hay algunos cambios incompatibles entre bash-4.4 y bash-5.0. Los cambios en cómo se resuelven las variables nameref significan que algunos usos de namerefs se comportarán de manera diferente, aunque he tratado de minimizar los problemas de compatibilidad. De manera predeterminada, el shell solo establece BASH_ARGC y BASH_ARGV al inicio si el modo de depuración extendida está habilitado; fue un descuido que se estableció incondicionalmente y causó problemas de rendimiento cuando los scripts pasaron una gran cantidad de argumentos.
También se refiere a estos dos archivos, en caso de que desee más:
- NOTICIAS : más detalles (también en la respuesta de Kusalananda)
- CAMBIOS : más detalles
CHANGES
archivo: git.savannah.gnu.org/cgit/bash.git/tree/…