FreeBSD 15 become officially a production release.

New PKGBASE way of organizing/updating the FreeBSD Base System using pkg(8) tool.
More about PKGBASE is available in separate Brave New PKGBASE World article.
Since 15.0-RC3 the OpenZFS 2.4.0 (RC4) has been added which brings gems such as rewrite.
Many operations in C library now use simd(7) extensions for improved performance.
The pf(4) now supports the OpenBSD style NAT syntax.
New precious_machine safety switch in /etc/rc.conf file – for instance /var/run/noshutdown file is created to prevent shutdown(8) on wrong machine.
FreeBSD bsdinstall(8) installer now supports downloading/installing firmware packages.
The FreeBSD pkg(8) repo is renamed to FreeBSD-ports.
The FreeBSD-kmods pkg(8) repo is renamed to FreeBSD-ports-kmods
The FreeBSD-ports-kmods is now included in /etc/pkg/FreeBSD.conf pkg(8) config.
Now sysctl(8) runs inside Jails. Examples: sysctl -j JAILNAME -Ja or sysctl -j JAILNAME net.fibs=2.
Fixed gradual slowdowns in drm-kmod with AMD and Intel GPUs.
Multiple flaws fixed in NUMA code by omitting re-examine same domain multiple times.
VNC server in bhyve(8) will now show correct colors when using www/novnc client.
Under Hyper-V TLB flushes are now performed using hypercalls rather than IPIs providing up to 40% improvement.
New networking(7) man page provides guide to connecting system to networks including WiFi.
New pkgbase(7) man page provides overview of PKGBASE reality.
The adduser(8) utility now creates ZFS dataset for new user home dir.
The date(1) now supports nanoseconds.
The dtrace(1) tool can now generate machine readable output in JSON/XML/HTML using libxo(3).
The usbconfig(8) now reads descriptions of USB vendor/products from /usr/share/misc/usb_vendors file.
The ps(1) is now POSIX compatible – matches current user processes using effective user ID.
FreeBSD now natively implements Linux inotify(2) interface.
The mac_do(4) is now production ready and supports changing rules within Jails with security.mac.do.rules knob.
The nvme(4) and nvmecontrol(8) are now enabled on all architectures.
The mountd(8) now uses strunvis(3) to decode dir names in exports(5) file which allows spaces use in dir name.
New sysctl(8) knobs kern.rpc.unenc and kern.rpc.tls allows to show how much NFS-over-TLS is used.
A lot of needed loader(8) improvements regarding reading additional configs and UEFI/SMBIOS.
The arp(4) support for 802 standard networks has been restored.
It is possible to build FreeBSD kernel with IPv6 support (INET6) without IPv4 (INET).
Major regression in UDP performance introduced in FreeBSD 12.0 – including NFS over UDP – is fixed.
The sound(4) can allocate vchans on demand.
New sound(4) new dsp_chn_alloc() function for using free HW channel or allocating new vchan.
New sound(4) hw.snd.vchans_enable (previously hw.snd.maxautovchans).
Now sound(4) dev.pcm.X.{play|rec}.vchans enables/disables vchans.
Audio now supports asynchronous device detach which greatly simplifies hot (un)plugging USB headsets.
Support for cloud-init(1) including nuageinit(7) script and config-drive partition. OpenStack compatible.
FreeBSD is now publishing OCI compatible containers and Oracle Cloud Infrastructure images.
The net/wifi-firmware-kmod@release package added to DVD in order to provide necessary firmware for WiFi drivers.
New rtw88(4) Realtek driver based on Linux 6.17 added.
New rtw89(4) Realtek driver based on Linux 6.17 added.
The rtwn(4) driver supports 802.11ac (VHT) for RTL8812A and RTL8821A chips.
New iwlwifi(4) Intel MVM/MLD driver based on Linux 6.17.
Numerous stability improvements for iwlwifi(4) driver for Intel WiFi cards.
The iwlwifi(4) driver now supports 802.11ac (VHT) for some Intel WiFi 5 and all WiFi 6/7 cards
The iwlwififw(4) firmware was removed from Base System in favor of FreeBSD Ports based fwget(8) tool.
More about fwget(8) is available in separate New fwget(8) FreeBSD Firmware Tool article.
The iwx(4) driver added supporting Intel WiFi 6 series of M.2 cards.
The iwx(4) driver supports 802.11ac (VHT) for Intel WiFi 6 cards
The fdisk(8) has been deprecated in favor of gpart(8) tool.
The gvinum(8) is removed in 15.0.
The agp(4) has been planned for removal in FreeBSD 15.0
The firewire(4) have deprecation notice that it will be removed in 16.0.
Soft Updates now enabled by default when creating new UFS file system with newfs(8) command.
The ifconfig(8) utility will no longer accept assigning IP addresses to underlying member interfaces of a bridge(4).
Add net.link.bridge.member_ifaddrs to allow ifconfig(8) to assigning IP to member interfaces of bridge(4).
Source: https://vermaden.wordpress.com/2025/11/30/valuable-freebsd-15-0-release-updates/
Patch Update: Linux kernel gains support for detecting FreeBSD’s Bhyve hypervisor.
Reason: Needed to enable 15-bit MSI (Message Signaled Interrupts) for handling >255 vCPUs.
Background:
Timeline:
x86/cpu branch of tip.git.“The Zero-Trust Build project is scheduled from Jan-Aug 2025 and centers on the FreeBSD build process, and in particular, release building. The primary goal of this work is to enable the entire release process to run without requiring root access, and that build artifacts build reproducibly – that is, that a third party can build bit-for-bit identical artifacts.”