After seven years since the last release and twelve and a half years since the release of branch 2.7, the GNU patch utility 2.8 has been released. This utility allows you to apply patches to files, which include change lists generated by the diff program. The code is written in C and is distributed under the GPLv3+ license.
In the new version:
- The year 2038 problem has been resolved — the utility now correctly handles file timestamps created after 2038, even on platforms with a 32-bit time_t type.
- The ‘—follow-symlinks’ option now applies not only to input files but also to created files.
- In accordance with the requirements of the POSIX.1-2024 standard, the use of newline characters in file names is prohibited.
- The use of null bytes (‘\0’) in strings with diff directives is forbidden.
- Spaces and tabs are now allowed before and after line number values.
- Work has been done to eliminate undefined or incorrect behavior in exceptional situations, such as when processing very large field sizes, input/output errors, memory shortages, race conditions, and sending signals at inappropriate times.
- The old ‘Plan B’ code created for systems with 16-bit pointers has been removed.
- The requirements for the compiler have been raised, which now must support the C99 standard (previously C89 was required).
- Support for new versions of GCC, Autoconf, and Gnulib has been added.
Source: opennet.ru
