Po sedmi letech od posledního vydání a dvanácti a půl letech od publikace větve 2.7 byl představen vydání nástroje GNU patch 2.8. Tento nástroj umožňuje aplikovat na soubory patche zahrnující seznamy změn, které vytvořil program diff. Kód je napsán v jazyce C a je šířen pod licencí GPLv3+.
V nové verzi:
- Byl vyřešen problém roku 2038 — nástroj nyní správně zpracovává data o čase souborů vytvořených po roce 2038, i na platformách s 32bitovým typem time_t.
- Možnost „—follow-symlinks“ se nyní vztahuje nejen na vstupní soubory, ale také na vytvářené soubory.
- V souladu s požadavky standardu POSIX.1-2024 je zakázáno používat znak nového řádku v názvech souborů.
- Zakázáno používání nulových bytek (‘\0’) ve výrazech s direktivami diff.
- Je povoleno uvedení mezer a tabulátorů před a po hodnotách s čísly řádků.
- Bylo provedeno úsilí o vyloučení nejednoznačného nebo nesprávného chování v nestandardních situacích, například při zpracování velmi velkých velikostí polí, chybách vstupu/výstupu, nedostatku paměti, závodech podmínek a odesílání signálů ve nevhodných momentech.
- Byl odstraněn starý kód „Plan B“, určený pro systémy se 16bitovými ukazateli.
- Byly zvýšeny požadavky na kompilátor, který nyní musí podporovat standard C99 (dříve byl požadován C89).
- Byla přidána podpora nových verzí GCC, Autoconf a Gnulib.
Zdroj: opennet.ru
