New version of the GNU Awk interpreter 5.2

The new release of the AWK programming language implementation from the GNU project — Gawk 5.2.0 has been introduced. AWK was developed in the 1970s and has not undergone significant changes since the mid-1980s, which defined the core structure of the language, allowing it to maintain its original stability and simplicity for decades. Despite its age, AWK is still actively used by administrators for performing routine tasks related to parsing various types of text files and generating simple resulting statistics.

Key changes:

  • Experimental support for the persistent malloc (pma) memory manager has been added, allowing values of variables, arrays, and user-defined functions to be retained between different runs of awk.
  • Support for high-precision arithmetic, implemented using the MPFR library, has been removed from the maintenance of GNU Awk and transferred to an external enthusiast. It is noted that the implementation of the MPFR mode in GNU Awk is considered an error. In case of any maintenance changes, this feature is planned to be entirely removed from GNU Awk.
  • The components of the build infrastructure have been updated to Libtool 2.4.7 and Bison 3.8.2.
  • The logic for comparing numbers has been modified to align with the logic applied in the C programming language. For users, this change mainly affects the comparison of Infinity and NaN values with regular numbers.
  • The use of the FNV1-A hash function in associative arrays has been provided, enabled by setting the AWK_HASH environment variable to ‘fnv1a’.
  • Support for building with CMake has been removed (the CMake support code was unused and had not been updated for five years).
  • A new function mkbool() has been added to create boolean values, which are numbers but are treated as Boolean type.
  • In BWK mode, when specifying the ‘--traditional’ flag, support for expressions to define ranges, previously included with the ‘-r’ (‘--re-interval’) option, is enabled by default.
  • New functions writeall() and readall() for writing and reading all variables and arrays at once have been proposed in the rwarray extension.
  • A gawkbug script has been added for reporting error information.
  • Instant termination is ensured upon detecting syntax errors, addressing issues with fuzz testing tools.
  • Support for the OS/2 and VAX/VMS operating systems has been discontinued.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster