Представлен релиз FreeBSD 12.1, который подготовлен для архитектур amd64, i386, powerpc, powerpc64, powerpcspe, sparc64 и armv6, armv7 и aarch64. Дополнительно подготовлены образы для систем виртуализации (QCOW2, VHD, VMDK, raw) и облачных окружений Amazon EC2.

Ключевые новшества:

  • В базовую систему включена криптографическая библиотека BearSSL;
  • В сетевой стек добавлена поддержка NAT64 CLAT (RFC6877), реализованная инженерами из Yandex;
  • Добавлена утилита trim для низкоуровневой очистки блоков на накопителе;
  • В bsnmpd добавлена поддержка IPv6;
  • Обновлены версии ntpd 4.2.8p13, OpenSSL 1.1.1d, libarchive 3.4.0, LLVM (clang, lld, lldb, compiler-rt, libc++) 8.0.1, bzip2 1.0.8, WPA 2.9, pkg 1.12.0. В портах обновлены GNOME 3.28 и KDE 5.16.5;
  • Для архитектуры i386 по умолчанию активирован компоновщик LLD от проекта LLVM;
  • В ядре обеспечено вывод в лог идентификаторов jail-окружений при завершении процессов (для процессов не в jail указывается нулевой идентификатор);
  • Добавлена переработанная подсистема FUSE (File system in USErspace), позволяющая создавать реализации файловых систем в пространстве пользователя. В новом драйвере реализована поддержка протокола FUSE 7.23 (ранее поддерживалась версия 7.8, выпущенная 11 лет назад), добавлен код для проверки прав доступа на стороне ядра («-o default_permissions»), добавлены вызовы VOP_MKNOD, VOP_BMAP и VOP_ADVLOCK, обеспечена возможность прерывания операций FUSE, добавлена поддержка неименованных каналов и unix-сокетов в fusefs, появилась возможность использования kqueue для /dev/fuse, разрешено обновление параметров монтирования через «mount -u», добавлена поддержка экспорта fusefs через NFS, реализован учёт RLIMIT_FSIZE, добавлены флаги FOPEN_KEEP_CACHE и FUSE_ASYNC_READ, внесены значительные оптимизации производительности и улучшена организация кэширования;
  • В состав включена библиотека libomp (реализация runtime OpenMP);
  • Обновлён список идентификаторов поддерживаемых PCI-устройств;
  • Добавлен драйвер cdceem с поддержкой виртуальных сетевых карт с интерфейсом USB, предоставляемых в iLO 5 на серверах HPE Proliant;
  • В утилиту camcontrol добавлены команды для изменения режимов энергопотребления ATA. В подсистеме cam улучшено управление AHCI и повышена совместимость с SES;
  • Добавлен вывод предупреждений об использовании ненадёжных алгоритмов шифрования при создании разделов через geli;
  • В загрузчик добавлена поддержка ZFS-опции «com.delphix:removing»;
  • Добавлен sysctl net.inet.tcp.rexmit_initial для установки параметра RTO.Initial, используемого в TCP;
  • Добавлена поддержка инкапсуляции GRE-in-UDP (RFC8086);
  • Отключён по умолчанию флаг «-Werror» в gcc;
  • В утилиту sh добавлена опция pipefail, при установке которой финальный код возврата включает код ошибки, возникшей в любом из приложений в цепочке вызовов;
  • В утилиту mlx5tool добавлены функции обновления прошивок для Mellanox ConnectX-4, ConnectX-5 и ConnectX-6;
  • Добавлена утилита posixshmcontrol;
  • В утилиту nvmecontrol добавлена команда «resv» для управления резервированием для NVMe;
  • В утилите camcontrol в команде «modepage» появилась поддержка дескрипторов блоков;
  • В утилиту freebsd-update добавлены две новые команды «updatesready» и «showconfig»;
  • Добавлены режимы сборки WITH_PIE и WITH_BIND_NOW;
  • В утилиту zfs добавлены флаги «-v», «-n» и «-P», а также команда «send» для закладок;
  • В состав включена утилита bzip2recover. В gzip добавлена поддержка алгоритма сжатия xz;
  • Обновлены драйверы устройств, добавлена поддержка AMD Ryzen 2 и RTL8188EE;
  • Объявлены устаревшими и будут удалены вo FreeBSD 13 утилиты ctm и timed;
  • Начиная с FreeBSD 13.0 тип CPU (CPUTYPE) для архитектуры i386 по умолчанию будет изменён с 486 на 686 (при желании сборки для i486 и i586 можно сформировать самостоятельно).