Спустя год после прошлого значительно выпуска доступен релиз 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.