Ключевые новшества:
- Компоненты 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;
- Штатно поддерживаются KMS-модули ядра для Intel и AMD карт последних поколений (порты graphics/drm-stable-kmod и graphics/gpu-firmware-kmod);
- Доступна поддержка EVDEV и libinput для автоконфигурации устройств (к сожалению в данный момент отключена по умолчанию, включается пересборкой ядра с соответствующими параметрами);
- В портах доступны графические окружения 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.