След седем години от предишното издание и дванадесет и половина години от публикуването на версия 2.7, е представен релизът на утилитата GNU patch 2.8. Тази утилита позволява прилагането на пачове към файлове, включващи списъци с промени, създадени от програмата diff. Кодът е написан на C и се разпространява под лицензия GPLv3+.
В новата версия:
- Проблемът с годината 2038 е решен — утилитата вече коректно обработва данните за времето на файловете, създадени след 2038 година, дори на платформи с 32-битен тип time_t.
- Опцията «—follow-symlinks» сега се прилага не само за входящите файлове, но и за създаваните файлове.
- В съответствие с изискванията на стандарта POSIX.1-2024, използването на символа за нов ред в имената на файлове е забранено.
- Забранено е използването на нулеви байтове (‘\0’) в низовете с директиви diff.
- Разрешено е указването на интервали и табулации преди и след стойностите с номера на редовете.
- Работено е по отстраняването на неопределено или неправилно поведение в неочаквани ситуации, например, при обработка на много големи размери на полета, грешки при вход/изход, недостиг на памет, състояния на състезание и изпращане на сигнали в неподходящи моменти.
- Старият код «Plan B», създаден за системи с 16-битови указатели, е премахнат.
- Повишени са изискванията към компилатора, който сега трябва да поддържа стандарт C99 (по-рано се изискваше C89).
- Добавена е поддръжка за нови версии на GCC, Autoconf и Gnulib.
Източник: opennet.ru
