Red Hat опубликовала стабильный релиз пакета Cygwin 3.4.0, который содержит DLL-библиотеку для эмуляции Linux API в Windows. Это позволяет собирать программы, созданные для Linux, с минимальными изменениями. В пакет также входят сборки Unix-утилит, серверных приложений, компиляторов, библиотек и заголовочных файлов, которые можно использовать в Windows.
Выпуск пакета особенно значим благодаря прекращению поддержки 32-разрядных систем и прослойки WoW64, которая используется для запуска 32-разрядных программ в 64-разрядной Windows. Также прекращена поддержка операционных систем Windows Vista и Windows Server 2008. В следующей версии (3.5) планируется прекратить поддержку Windows 7, Windows 8, Windows Server 2008 R2 и Windows Server 2012. Таким образом, в Cygwin 3.5.0 будут поддерживаться только Windows 8.1, Windows 10, Windows 11, Windows Server 2012 R2, Windows Server 2016, Windows Server 2019 и Windows Server 2022.
В новом релизе Cygwin 3.4.0 теперь можно запускать исполняемые файлы с рандомизацией адресного пространства (ASLR), которая включена по умолчанию в Cygwin DLL. Также удален специализированный обработчик файлов с расширением «.com». В пакет добавлены новые обработчики, такие как код для обработки вызова setrlimit(RLIMIT_AS) и масок сигналов в /proc//status. Также добавлены обработчики опций сокетов UDP_SEGMENT и UDP_GRO.
По умолчанию теперь установлена опция «CYGWIN=pipe_byte», которая заставляет неименованные каналы работать в байтовом режиме, а не в режиме передачи сообщений. В функциях ввода, определенных в stdio.h, отключены попытки чтения за концом файла (EOF), чтобы сделать поведение более похожим на Linux. Пустой путь в переменной окружения PATH теперь трактуется как указание на текущий каталог, что соответствует поведению в Linux.
>>> Подробности