Спустя год после прошлого значительно выпуска доступен релиз FreeBSD 11.2, который подготовлен для архитектур amd64, i386, powerpc, powerpc64, sparc64, aarch64 и armv6 (BEAGLEBONE, CUBIEBOARD, CUBIEBOARD2, CUBOX-HUMMINGBOARD, Raspberry Pi B, Raspberry Pi 2, PANDABOARD, WANDBOARD). Дополнительно подготовлены образы для систем виртуализации (QCOW2, VHD, VMDK, raw) и облачных окружений Amazon EC2.
Ключевые новшества:
- Компоненты Clang, libc++, compiler-rt, LLDB, LLD и LLVM обновлены до версии 6.0.0, из новых возможностей в которой можно отметить включение в Clang по умолчанию стандарта C++14 («-std=gnu++14» вместо «-std=gnu++98»), обеспечение поддержки некоторых возможностей будущего стандарта C++2a, интеграцию патчей retpoline для блокирования второго варианта уязвимости Spectre, включение по умолчанию фреймворка GlobalISel для архитектуры AArch64 при сборке с уровнем оптимизации «-O0», добавление новых предупреждений компилятора.
- Обновлены версии поставляемых в базовой системе сторонних проектов: libarchive 3.3.2, libxo 0.9.0, Subversion 1.9.7, OpenSSH 7.5p1, pkg 1.10.5, tcpdump 4.9.2, NTP 4.2.8p11, bmake 20180222, OpenSSL 1.0.2o;
- Обновлены драйверы устройств: cxgbe с поддержкой сетевых адаптеров T4, T5 и T6, ixl с поддержкой Intel XL710 и ng_pppoe с поддержкой тегов Host-Uniq. Добавлены новые драйверы mlx5io для сетевых адаптеров Connect-X 4 и Connect-X 5, ocs_fc для хост-адаптеров Fibre Channel от компании Emulex и smartpqi для SCSI-контроллеров Microsemi. Добавлена поддержка многопротокольных адаптеров TAIO USB (TUMPA);
- Объявлены устаревшими и будут удалены во FreeBSD 12 драйверы cm, fpa, nxge, lmc, vxge и ixgb, а также GEOM-классы geom_aes, geom_bsd, geom_mbr и geom_sunlabel, на смену которым пришёл geom_part;
- В портах доступны графические окружения KDE 4.14.3 и GNOME 3.18.0;
- Добавлена новая утилита efibootmgr для настройки менеджера загрузки EFI;
- Добавлена новая утилита dwatch для наблюдения за процессами с использованием механизма трассировки DTrace;
- Добавлена новая утилита etdump для просмотра информации из загрузочного каталога El Torito;
- Из OpenBSD импортирован вариант утилиты diff, распространяемый под лицензией BSD. Данная утилита не устанавливается по умолчанию, для её установки при пересборке системы следует указать WITHOUT_GNU_DIFF в src.conf;
- В утилите zfsd появилась возможность работы с любыми типами провайдеров GEOM, включая md, geli, glabel и gstripe;
- В прослойке для совместимости с Linux добавлена поддержка системной библиотеки musl;
- В реализации файловой системы fdescfs добавлена поддержка специфичных для Linux файловых дескрипторов /dev/fd и /proc/self/fd;
- В ядре появилась возможность использования нескольких часов реального времени;
- В пакетном фильтре ipfw обеспечена идентификация пакетов 2 и 3 уровней OSI, устранены проблемы с пометкой пакетов AQM в dummynet;
- В утилиту sysctl добавлена поддержка присвоения параметрам массивов числовых значений;
- Устранена проблема с загрузкой на системах с CPU Intel Apollo Lake;
- В загрузчике обеспечена проверка неподдерживаемых флагов функциональности ZFS, при активности которых пул ZFS не помечается загрузочным;
- В утилиту crontab добавлена опция «-f» для принудительного удаления файла crontab при использовании опции «-r» в неинтерактивном режиме (предотвращает случайное удаление при ошибочном указании «-r» в командной строке);
- В утилиту diskinfo добавлены флаги «-s» для отображения идентификатора диска (серийного номера) и «-p» для вывода физического пути (physpath) к диску в системе хранения;
- В umount добавлен флаг «-N» для принудительного отмонтирования NFS-раздела;
- В утилите ps обеспечено отображение приоритетов realtime и idle среди флагов состояния. Также добавлен признак «C», позволяющий определить , что процесс выполняется с использованием ограничений capsicum;
- В утилите pw реализована корректная обработка периодов истечения срока работы учётной записи и добавлена возможность использования символов «@» и «!» в поле GECOS;
- В утилите top добавлена возможность фильтрации нескольких имён пользователей через опцию «-U»;
- Обновлена утилита bsdgrep, в которой через жесткую ссылку добавлена команда rgrep, эквивалентная «grep -r»;
- В утилиту getconf добавлен флаг «-a» для вывода имён и значений всех системных путей;
- Прекращена сборка по умолчанию утилиты lint (для сборки требуется указать WITH_LINT в src.conf);
- В утилите mount реализован режим, позволяющий примонтировать носитель в режиме только для чтения в случае сбоя при монтировании в с поддержкой записи. Данное поведение включает при указании опции «autoro»;
- В утилите makefs размер блока и фрагмента по умолчанию заменён на 32K и 4K, для соответствия поведению newfs;
- В утилите pwd_mkdb добавлено предупреждение о прекращении поддержи классической базы паролей в FreeBSD 12 в случае использования флага «-l»;
- В утилите mdmfs появилась поддержка tmpfs;
- В утилиту service добавлен флаг «-j» для выполнения команды в контексте указанного jail-окружения;
- В ipfw возобновлена поддержка sysctl net.inet.ip.fw.dyn_keep_states;
- Реализована поддержка изменения sysctl p1003_1b.aio_listio_max вл время работы;
- Для систем на базе процессоров Intel Ice Lake и Cannon Lake по умолчанию активирована поддержка Wake On LAN;
- Установщики memstick-сборок для архитектуры amd64 переведены на использование MBR вместо GPT для улучшения совместимости с оборудованием, поддерживающим MBR и GPT, но не способным загрузиться в режиме с BIOS при использовании GPT;
- С целью сокращения размера проведена чистка окружения Live CD для образа disc1.iso, который теперь опять умещается на 700MB CD-ROM;
- В ifconfig добавлена поддержка опции «random» для случайной генерации MAC-адреса;
- Инсталлятор bsdinstall по умолчанию настроен на использование на системах arm64 только загрузки в режиме UEFI;
- Для гипервизора bhyve реализован драйвер виртуальной консоли virtio_console.