Após sete anos desde a última versão e doze anos e meio desde o lançamento da versão 2.7, é apresentado o lançamento da ferramenta GNU patch 2.8. A ferramenta permite aplicar patches a arquivos, incluindo listas de mudanças geradas pelo programa diff. O código é escrito em C e distribuído sob a licença GPLv3+.
Na nova versão:
- O problema do ano 2038 foi resolvido — a ferramenta agora processa corretamente os dados de tempo dos arquivos criados após 2038, mesmo em plataformas com tipo time_t de 32 bits.
- A opção "—follow-symlinks" agora se aplica não apenas aos arquivos de entrada, mas também aos arquivos gerados.
- De acordo com os requisitos da norma POSIX.1-2024, é proibido o uso de caracteres de nova linha em nomes de arquivos.
- É proibido o uso de bytes nulos ('\0') em strings com diretivas diff.
- É permitido especificar espaços e tabulações antes e depois dos números de linha.
- Foi realizado trabalho para eliminar comportamentos indefinidos ou incorretos em situações atípicas, como ao processar tamanhos de campos muito grandes, erros de entrada/saída, falta de memória, condições de corrida e envio de sinais em momentos inadequados.
- Código antigo "Plano B" removido, criado para sistemas com ponteiros de 16 bits.
- Aumentados os requisitos para o compilador, que agora deve suportar o padrão C99 (antes exigido C89).
- Adicionada a compatibilidade com novas versões do GCC, Autoconf e Gnulib.
Fonte: opennet.ru
