Выпуск утилиты GNU Patch 2.8

Спустя семь лет с прошлого выпуска и двенадцать с половиной лет с момента публикации ветки 2.7 представлен релиз утилиты GNU patch 2.8. Утилита позволяет применить к файлам патчи, включающие списки изменений, созданные программой diff. Код написан на языке Си и распространяется под лицензией GPLv3+.

В новой версии:

  • Решена проблема 2038 года – утилита теперь корректно обрабатывает данные о времени файлов, созданных после 2038 года, даже на платформах с 32-разрядным типом time_t.
  • Опция “–follow-symlinks” теперь распространяется не только на входные файлы, но и на создаваемые файлы.
  • В соответствие с требованиями стандарта POSIX.1-2024 запрещено использование символа перевода строки в именах файлов.
  • Запрещено использование нулевых байтов (‘’) в строках с директивами diff.
  • Разрешено указание пробелов и табуляций перед и после значений с номерами строк.
  • Проведена работа по исключению неопределённого или некорректного поведения в нештатных ситуациях, например, при обработке очень больших размеров полей, ошибках ввода/вывода, нехватке памяти, состояниях гонки и отправке сигналов в неподходящие моменты.
  • Удалён старый код “Plan B”, созданный для систем с 16-разрядными указателями.
  • Повышены требования к компилятору, который теперь должен поддерживать стандарт C99 (ранее требовался C89.
  • Добавлена поддержка новых версий GCC, Autoconf и Gnulib.
Release. Ссылка here.