
20 ноября 2023 года состоялся выпуск стабильного релиза FreeBSD 14.0 с поддержкой до 1024 ядер ЦП (для amd64 и arm64), OpenZFS 2.2 и добавлением утилиты Fwget (для загрузки пакетов прошивки для GPU Intel и AMD). Это событие произошло спустя более двух лет после выхода FreeBSD 13.0 (апрель 2021 года).
Первый выпуск стабильной ветки 14.х уже можно скачать для всех основных архитектур (amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv6, armv7, aarch64 и riscv64). Также доступны сборки для виртуальных машин (QCOW2, VHD, VMDK, raw) и платформ облачного хостинга (Amazon EC2, Google Compute Engine и Hashicorp/Atlas Vagrant).
Согласно пояснению команды разработчиков, ветка FreeBSD 14.x станет последней с поддержкой 32-разрядных платформ. В следующей версии FreeBSD 15.x будет доступна поддержка только 64-разрядных систем, но при этом сохранится возможность сборки 32-разрядных приложений и использования режима COMPAT_FREEBSD32 для запуска 32-разрядных исполняемых файлов в 64-разрядном окружении.
Сообщается, что FreeBSD 14 также должна перезагружаться быстрее, там удалена поддержка звуковых карт ISA, появился новый драйвер Intel QAT с большим количеством функций и поддержки, чем предыдущий драйвер QAT FreeBSD для технологии QuickAssist. Netflix также спонсировала удаление многих других старых драйверов из FreeBSD.
Согласно данным OpenNET, основные изменения и добавления в FreeBSD 14.0:
в качестве командного интерпретатора для пользователя root по умолчанию выставлен /bin/sh;
для NVME-устройств по умолчанию на всех платформах задействован драйвер nda. Для возвращения старого драйвера nvd в loader.conf предусмотрена настройка "hw.nvme.use_nvd=1".
добавлена новая утилита base64 для кодирования и декодирования данных в формате base64;
добавлена утилита tcpsso, позволяющая выставлять опции сокета для существующих соединений TCP (например, можно поменять модуль контроля за перегрузкой или TCP-стек);
в качестве агента доставки почты по умолчанию вместо sendmail задействован dma (DragonFly Mail Agent). Sendmail сохранён в базовой поставке и обновлён до версии 8.17.1;
в KTLS, реализацию протокола TLS, работающую на уровне ядра FreeBSD, добавлена поддержка аппаратного ускорения TLS 1.3 на принимающей стороне. Ускорение обеспечено через вынос на сторону сетевой карты некоторых операций, связанных с обработкой зашифрованных пакетов;
в файл конфигурации jail.conf добавлена директива ".include", позволяющая подключать при загрузке конфигурации дополнительные файлы, в пути к которым допускается использование масок. Расширен sysctl-параметр security.bsd.see_jail_proc, при помощи которого неавторизированным пользователям в отдельном jail-окружении теперь можно запретить принудительное завершение, изменение приоритета и отладку процессов;
приложения pw и bsdinstall теперь по умолчанию создают пользователей в каталоге "/home", а не в "/usr/home". Символическая ссылка для "/home", указывающая на "/usr/home", больше не создаётся;
отключена по умолчанию сборочная настройка PROFILE — профилированные версии системных библиотек теперь не предоставляются, вместо них следует использовать аппаратные средства профилирования (hwpmc);
исполняемые файлы для 64-разрядных архитектур теперь собираются с включением режима PIE (Position Independent Executable);
в гипервизоре Bhyve добавлена возможность проброса доступа к TPM (Trusted Platform Module) и улучшена реализация проброса GPU в виртуальные окружения для чипов AMD и Intel;
реализация файловой системы ZFS обновлена до выпуска OpenZFS 2.2. В утилиту makefs добавлена поддержка файловой системы ZFS, среди прочего предоставлена возможность создания пула ZFS, связанного с одним виртуальным диском vdev;
в UFS для конфигураций, в которых включено журналирование (soft updates), разрешено выполнение фоновой проверки файловой системы, используя снапшоты UFS. В суперблоки, карты групп цилиндров и inode добавлены дополнительные проверки хэшей для выявления повреждений;
добавлена файловая система tarfs, которую можно использовать с tar-архивами, сжатыми при помощи zstd;
в загрузчике, написанном на языке Lua, реализована поддержка выполнения lua-файлов, размещённых в каталоге loader_conf_files, в специальном sandbox-окружении;
расширена поддержка NFS. Добавлена новая опция монтирования "syskrb5" для поддержки Kerberos в NFSv 4.1/4.2, а также реализована поддержка операции ExchangeID. Реализована возможность запуска nfsd, nfsuserd, mountd, gssd и rpc.tlsservd в изолированном сетевом окружении vnet;
в скрипте growfs реализована возможность размещения раздела подкачки в конце расширяемой области на диска;
добавлен новый DTrace-провайдер kinst (dtrace_kinst), позволяющий проводить трассировку структур ядра;
добавлен инструментарий boottrace для отслеживания событий, произошедших на этапе загрузки и завершении работы системы;
проведена значительная чистка от компонентов устаревших систем.