---
title: "FreeBSD 15.1-RELEASE Release Notes"
sidenav: download
---

:localRel: 15.1
:releaseCurrent: 15.1-RELEASE
:releaseBranch: 15-STABLE
:releasePrev: 15.0-RELEASE
:releaseNext: 15.2-RELEASE
:releaseType: "release"

include::shared/en/urls.adoc[]

= FreeBSD {releaseCurrent} Release Notes
:doctype: article
:toc: macro
:toclevels: 2
:icons: font

== Abstract

[.abstract-title]
The release notes for FreeBSD {releaseCurrent} contain a summary of the changes made to the operating system on the {releaseBranch} development line.
This document lists applicable security advisories and errata issued since the last release as well as significant changes to the ecosystem.

toc::[]

[[intro]]
== Introduction

This document details the changes since FreeBSD {releasePrev}.

For installation instructions, see the link:{handbook}bsdinstall/[Installing FreeBSD] chapter of the FreeBSD Handbook.

For upgrading instructions, see link:../upgrading[FreeBSD {releaseCurrent} Upgrading Instructions].

For information on supported hardware, see the link:../hardware[FreeBSD {releaseCurrent} Hardware Compatibility List]. 

All readers are encouraged to consult the link:../errata[FreeBSD {releaseCurrent} errata] before installation or upgrading.
The errata document contains information discovered late in the release cycle, such as known bugs, security advisories, or documentation corrections.

[[security-errata]]
== Security and Errata

This section lists the Security Advisories and Errata Notices since {releasePrev}.

[[security]]
=== Security Advisories

[.informaltable]
[cols="1,1,1", frame="none", options="header"]
|===
| Advisory
| Date
| Topic

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-25:09.netinet.asc[FreeBSD-SA-25:09.netinet]
| 22 October 2025
| SO_REUSEPORT_LB breaks man:connect[2] for UDP sockets

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-25:10.unbound.asc[FreeBSD-SA-25:10.unbound]
| 26 November 2025
| Cache poison in local-unbound service

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-25:12.rtsold.asc[FreeBSD-SA-25:12.rtsold]
| 16 December 2025
| Remote code execution via ND6 Router Advertisements

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:01.openssl.asc[FreeBSD-SA-26:01.openssl]
| 27 January 2026
| Multiple vulnerabilities in OpenSSL

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:03.blocklistd.asc[FreeBSD-SA-26:03.blocklistd]
| 10 February 2026
| man:blocklistd[8] socket leak

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:05.route.asc[FreeBSD-SA-26:05.route]
| 24 February 2026
| Local DoS and possible privilege escalation via routing sockets

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:06.tcp.asc[FreeBSD-SA-26:06.tcp]
| 26 March 2026
| TCP: remotely exploitable DoS vector (mbuf leak)

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:07.nvmf.asc[FreeBSD-SA-26:07.nvmf]
| 26 March 2026
| Remote denial of service via null pointer dereference

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:08.rpcsec_gss.asc[FreeBSD-SA-26:08.rpcsec_gss]
| 26 March 2026
| Remote code execution via RPCSEC_GSS packet validation

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:09.pf.asc[FreeBSD-SA-26:09.pf]
| 25 March 2026
| pf silently ignores certain rules

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:10.tty.asc[FreeBSD-SA-26:10.tty]
| 21 April 2026
| Kernel use-after-free bug in the TIOCNOTTY handler

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:11.amd64.asc[FreeBSD-SA-26:11.amd64]
| 21 April 2026
| Missing large page handling in pmap_pkru_update_range()

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:12.dhclient.asc[FreeBSD-SA-26:12.dhclient]
| 29 April 2026
| Remote code execution via malicious DHCP options

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:13.exec.asc[FreeBSD-SA-26:13.exec]
| 29 April 2026
| Local privilege escalation via execve()

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:14.pf.asc[FreeBSD-SA-26:14.pf]
| 29 April 2026
| pf can overflow the stack parsing crafted SCTP packets

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:15.dhclient.asc[FreeBSD-SA-26:15.dhclient]
| 29 April 2026
| Remotely triggerable out-of-bounds heap write in dhclient

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:16.libnv.asc[FreeBSD-SA-26:16.libnv]
| 29 April 2026
| Stack overflow via select() file descriptor set overflow

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:17.libnv.asc[FreeBSD-SA-26:17.libnv]
| 29 April 2026
| Heap overflow in libnv

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:18.setcred.asc[FreeBSD-SA-26:18.setcred]
| 20 May 2026
| Stack buffer overflow via man:setcred[2]

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:19.file.asc[FreeBSD-SA-26:19.file]
| 20 May 2026
| Kernel use-after-free via file descriptor syscalls

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:20.fusefs.asc[FreeBSD-SA-26:20.fusefs]
| 20 May 2026
| Heap overflow in FUSE_LISTXATTR

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:21.ptrace.asc[FreeBSD-SA-26:21.ptrace]
| 20 May 2026
| Missing validation in ptrace(PT_SC_REMOTE)

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:22.libcasper.asc[FreeBSD-SA-26:22.libcasper]
| 20 May 2026
| man:select[2] file descriptor set overflow causes stack overflow

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:23.bsdinstall.asc[FreeBSD-SA-26:23.bsdinstall]
| 20 May 2026
| Remote code execution via installer Wi-Fi access point scans

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:24.cap_net.asc[FreeBSD-SA-26:24.cap_net]
| 20 May 2026
| Incorrect man:libcap_net[3] limitation list manipulation

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:25.thr.asc[FreeBSD-SA-26:25.thr]
| 9 June 2026
| Missing permission check in man:thr_kill2[2]

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:26.ktls.asc[FreeBSD-SA-26:26.ktls]
| 9 June 2026
| Arbitrary file overwrite via the KTLS receive path

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:27.sound.asc[FreeBSD-SA-26:27.sound]
| 9 June 2026
| Multiple vulnerabilities in the man:sound[4] mmap path

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:28.capsicum.asc[FreeBSD-SA-26:28.capsicum]
| 9 June 2026
| man:sigqueue[2] missing capability mode restriction

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:29.ip6_multicast.asc[FreeBSD-SA-26:29.ip6_multicast]
| 9 June 2026
| Use-after-free bug in the IPV6_MSFILTER socket option handler

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:30.linux.asc[FreeBSD-SA-26:30.linux]
| 9 June 2026
| Flaw in Linuxulator execution of setugid binaries

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:31.arm64.asc[FreeBSD-SA-26:31.arm64]
| 9 June 2026
| Arm CPU errata may bypass page table permission changes

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:32.elf.asc[FreeBSD-SA-26:32.elf]
| 9 June 2026
| ASLR bypass for setuid executables via man:procctl[2]

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:33.unbound.asc[FreeBSD-SA-26:33.unbound]
| 9 June 2026
| Multiple vulnerabilities in unbound

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:34.vt.asc[FreeBSD-SA-26:34.vt]
| 9 June 2026
| Integer overflow in man:vt[4] CONS_HISTORY ioctl

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:35.openssl.asc[FreeBSD-SA-26:35.openssl]
| 9 June 2026
| Multiple vulnerabilities in OpenSSL

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-SA-26:36.ldns.asc[FreeBSD-SA-26:36.ldns]
| 9 June 2026
| Insufficient response validation in the ldns stub resolver

|===

[[errata]]
=== Errata Notices

[.informaltable]
[cols="1,1,1", frame="none", options="header"]
|===
| Errata
| Date
| Topic

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-EN-25:19.zfs.asc[FreeBSD-EN-25:19.zfs]
| 16 December 2025
| Unprivileged kernel NULL pointer dereference

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-EN-25:20.vmm.asc[FreeBSD-EN-25:20.vmm]
| 16 December 2025
| man:bhyve[8] PCI passthru regression

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-EN-26:01.devinfo.asc[FreeBSD-EN-26:01.devinfo]
| 27 January 2026
| devinfo output formatting regression

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-EN-26:02.arm64.asc[FreeBSD-EN-26:02.arm64]
| 27 January 2026
| arm64 SVE signal context misalignment

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-EN-26:03.vm.asc[FreeBSD-EN-26:03.vm]
| 27 January 2026
| The page fault handler fails to zero memory

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-EN-26:04.arm64.asc[FreeBSD-EN-26:04.arm64]
| 10 February 2026
| Kernel panic when dumping process core on arm64

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-EN-26:05.vm.asc[FreeBSD-EN-26:05.vm]
| 21 April 2026
| The page fault handler fails to zero memory

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-EN-26:06.timerfd.asc[FreeBSD-EN-26:06.timerfd]
| 21 April 2026
| Periodic man:timerfd[2] timers may produce incorrect results

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-EN-26:07.pkgbase.asc[FreeBSD-EN-26:07.pkgbase]
| 21 April 2026
| Base packages fail to build with newer versions of libucl

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-EN-26:08.pf.asc[FreeBSD-EN-26:08.pf]
| 29 April 2026
| Incorrect duplicate rule detection for automatic tables

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-EN-26:09.tzdata.asc[FreeBSD-EN-26:09.tzdata]
| 29 April 2026
| Timezone database information update

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-EN-26:10.amd64.asc[FreeBSD-EN-26:10.amd64]
| 29 April 2026
| TLB invalidation bug on AMD systems with INVLPGB

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-EN-26:11.dhclient.asc[FreeBSD-EN-26:11.dhclient]
| 1 May 2026
| man:dhclient[8] lease validation is too strict

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-EN-26:13.freebsd-update.asc[FreeBSD-EN-26:13.freebsd-update]
| 20 May 2026
| man:freebsd-update[8] attempts to merge a generated file

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-EN-26:14.syslogd.asc[FreeBSD-EN-26:14.syslogd]
| 9 June 2026
| man:syslogd[8] memory leak in casper_ttymsg()

| link:https://www.FreeBSD.org/security/advisories/FreeBSD-EN-26:15.openssl.asc[FreeBSD-EN-26:15.openssl]
| 9 June 2026
| Update OpenSSL to 3.0.20 and 3.5.6

|===

[[userland]]
== Userland

This section covers changes and additions to userland applications, contributed software, and system utilities.

[[userland-packages]]
=== System Packaging Changes

Changes in this section only affect systems installed using base system packages (sometimes called _pkgbase_), supported in FreeBSD 15.0 and later.

OpenPAM has moved to a new `FreeBSD-pam` package.
Systems with the `FreeBSD-set-minimal` or `FreeBSD-set-minimal-jail` package sets installed will install this package automatically, and no user action is required.
Systems which do not have either of the minimal sets installed must install the new package if they need to support PAM authentication, e.g. for man:login[1] or man:sshd[8].
gitref:95cc7f59b7ce[repository=src].

Zstandard, including the man:zstd[1] utility, has moved to a new `FreeBSD-zstd` package.
Systems with the `FreeBSD-set-minimal` or `FreeBSD-set-minimal-jail` package sets installed will install this package automatically, and no user action is required.
Other systems should install this package manually if Zstandard support is required.
gitref:8c61751d078e[repository=src].

The `installworld` and `installkernel` targets are now blocked on systems installed from packages to prevent package database inconsistencies.
Users wishing to perform source-based upgrades should first unregister the base system packages, as described in man:freebsd-base[7].
gitref:ef82bdc864c5[repository=src], gitref:235cb4b4970f[repository=src].

[[userland-config]]
=== Userland Configuration Changes

The `us.intl.acc.kbd` keyboard layout has been installed and available for use with the man:vt[4] console.
gitref:34196ce83f9c[repository=src].

The Lenovo laptop keyboard keymap has been installed and available for use with man:vt[4].
gitref:23eaa98d6dc1[repository=src].

The default shell for the root user and the 'freebsd' user in release images is changed from man:csh[1] to man:sh[1].
gitref:c8763bd078d8[repository=src].

rc.subr now supports setting the audit user for services via rc.conf directives, allowing administrators to override the audit user ID when services are started, which prevents unexpected audit log attribution in scenarios like unprivileged users restarting services via sudo.
gitref:7edef9117688[repository=src].
{{< sponsored "Modirum MDPay; Klara, Inc." >}}

[[userland-programs]]
=== Userland Application Changes

The man:find[1] utility now supports -xattr and -xattrname primaries for searching files based on extended attributes.  The -xattr primary matches files that have any extended attribute, while -xattrname allows filtering by a specific attribute name, optionally prefixed with a namespace like "user:" or "system:".
gitref:5cbb1e05086c[repository=src].
{{< sponsored "Klara, Inc." >}}

The man:newfs[8] utility now prevents simultaneous use of GEOM journaling and soft updates. When GEOM journaling is requested, soft updates are not enabled automatically, and explicit requests for both features result in an error.
gitref:f758262e66dd[repository=src].

The man:tr[1] utility now correctly handles the CCLASS ([:alpha:]) character class in Unicode mode, fixing case conversion operations for alphabetic characters.
gitref:a51ec1cc5a82[repository=src].

The man:diff3[1] utility's merge mode is made compatible with GNU diff3, improving interoperability with other systems and tools.
gitref:a6f17dd2430b[repository=src].

The man:pwd[1] utility now defaults to the -L (logical) option, following POSIX semantics. Paths containing dot or dot-dot components are rejected in logical mode.
gitref:24b95c5ece3d[repository=src].

A -E flag has been added to man:bectl[8] to create an empty boot environment without cloning the currently running environment. This allows users to create a new, independent boot environment for manual installation or configuration.
gitref:2b5087e9850b[repository=src].

The man:daemon[8] utility now supports specifying the output file mode via a new option, allowing non-root log collectors to access log files and improving compatibility with log rotation tools.
gitref:4bc40d5a624e[repository=src].

The man:newfs[8] utility gains a `-u` flag to disable soft updates and soft updates journaling, providing a way to turn off the default soft updates for UFS2 filesystems.
gitref:f5a51cfba15c[repository=src].
{{< sponsored "Klara, Inc.; NetApp, Inc." >}}

The man:zfs[8] clone command now accepts the `-u` option to prevent automatic mounting of newly created datasets. This allows users to create clones without immediately mounting them, which can be useful for scripting or when preparing datasets for later use.
gitref:6ab8f46c6c47[repository=src].

The man:zdb[8] utility gains a `-O` option for use with `-r` to specify an object ID directly, allowing copying of a file by object ID rather than pathname.
gitref:ccb7c82aa15b[repository=src].

man:setaudit[8] utility has been added for managing audit policies.
gitref:dc88f0003e85[repository=src].
{{< sponsored "Modirum MDPay; Klara, Inc." >}}

The man:ipfs[8] utility has been disabled by default and its kernel support is now optional. Users who rely on ipfs must explicitly enable it in the kernel configuration.
gitref:91de9b501aa7[repository=src].

The man:sockstat[1] utility now displays UDP-Lite endpoints by default.
gitref:c10317b0c455[repository=src].

The man:dtrace[1] utility now supports the `ustackdepth` variable on arm64, allowing users to query user-space stack depth in DTrace scripts on that architecture.
gitref:00412df3265e[repository=src].

DTrace kernel diagnostic messages now use a more intuitive prefix `dtrace`, improving log search consistency.
gitref:7781f5e09ffc[repository=src].

bsdinstall script now performs pkgbase installation by default, with components specified via COMPONENTS variable, while legacy distset installation remains available if DISTRIBUTIONS is defined.
gitref:cb7880bb0900[repository=src].
{{< sponsored "ConnectWise" >}}

man:cron[8] now implements full PAM session lifecycle for user jobs, allowing PAM modules to establish credentials and sessions before job execution. PAM environment variables are exported to job processes with user crontab variables taking precedence. A default pam_permit.so session rule is added to /etc/pam.d/cron to enable session support without changing default behavior.
gitref:770479c4cea0[repository=src].

[[userland-contrib]]
=== Contributed Software

Certificate authority bundle has been regenerated from NSS 3.123.1, adding new trusted certificates (OISTE Server Root ECC G1, OISTE Server Root RSA G1, SwissSign RSA TLS Root CA 2022, TrustAsia TLS ECC Root CA, TrustAsia TLS RSA Root CA, Certigna Root CA, e-Szigno TLS Root CA 2023, Atos TrustedRoot Root CA ECC G2 2020, Atos TrustedRoot Root CA RSA G2 2020) and removing several certificates. Several previously trusted CAs have been moved to untrusted status, and a number of new untrusted certificates have been added.
gitref:5bb9cd154dfa[repository=src].

Time zone code has been updated to 2026b.
gitref:b72580fcb0a7[repository=src].

tzdata has been updated to 2026b.
gitref:1e5aff8e5bc6[repository=src].

OpenSSL has been updated to version 3.5.6.
gitref:e2fcde7333a5[repository=src].

libfido2 has been updated to 1.16.0.
gitref:a54428834b9d[repository=src].
{{< sponsored "The FreeBSD Foundation" >}}

expat has been updated to version 2.7.5.
gitref:0b94911946e9[repository=src].

man:xz[1] has been updated to version 5.8.3.
gitref:7176f76d2251[repository=src].

libcbor has been updated to 0.13.0.
gitref:967186fe0a54[repository=src].
{{< sponsored "The FreeBSD Foundation" >}}

man:tcpdump[1] has been updated to version 4.99.6.
gitref:6af32a9d37ad[repository=src].
{{< sponsored "The FreeBSD Foundation" >}}

libpcap has been updated to version 1.10.6.
gitref:e0ae00f43186[repository=src].
{{< sponsored "The FreeBSD Foundation" >}}

man:zlib[3] has been updated updated to version 1.3.2.
gitref:74f357256769[repository=src].

OpenZFS has been updated to version 2.4.2.
gitref:409247a6cbd1[repository=src].

USB vendor database has been updated to 2025.12.13.
gitref:9b2cba4a8a69[repository=src].

The PCI vendor database has been updated to the 2026-02-10 version, providing current hardware identification for tools like man:pciconf[8].
gitref:2483216eecf3[repository=src].

man:blocklistd[8] has been updated to version 2026-02-07.
gitref:d73fac00cdd4[repository=src].

Spleen font has been updated to version 2.2.0. The update adds several previously missing characters critical for manual pages on high-dpi displays, including em-dash, en-dash, hyphen, angle brackets, white square, dagger, and double dagger. It also improves character alignment across different font sizes.
gitref:da4c7b4518dd[repository=src].

GoogleTest has been updated to version 1.17.0. The new version now requires {cpp}17 to build.
gitref:0029027156f4[repository=src].

man:ncurses[3] has been updated to version 6.6. The update is ABI compatible with version 6.5. HTML documentation is removed.
gitref:297d5bf89067[repository=src].

man:nvi[1] has been updated to version 2.2.2.
gitref:b840145f1985[repository=src].

man:mtree[8] has been updated to snapshot 20260111 from NetBSD.
gitref:e2e7269461e9[repository=src].

Unicode support has been updated to Unicode 17.0.0 and CLDR 48, adding 4,803 characters and 4 new scripts (Sidetic, Tolong Siki, Beria Erfe, Tai Yo). This affects locale definitions, collation, monetary, and numeric formatting for UTF-8 locales.
gitref:476a063a88aa[repository=src].

man:bmake[1] has been updated to version 20251111.
gitref:11aa32794394[repository=src].

man:sqlite3[1] has been updated to version 3.50.4.
gitref:e37206a66db0[repository=src].

man:unbound[8] has been updated to version 1.25.1.
gitref:1b6c85cfac36[repository=src].

The blacklist subsystem has been renamed to blocklist (man:blocklistd[8]) throughout the system. Old names in rc scripts, firewall rules, and configuration knobs remain functional but emit warnings. This change follows upstream terminology updates.
gitref:7f6f2139eef9[repository=src].

man:bsddialog[1] has been updated to version 1.0.5.
gitref:aa2fe36f5e4b[repository=src].
{{< sponsored "The FreeBSD Foundation" >}}

man:less[1] has been updated to version 692.
gitref:109324d5e7ab[repository=src].

zstd has been updated to version 1.5.7.
gitref:1aa2b46a0707[repository=src].

MIT krb5 has been updated to 1.22.2.
gitref:3de8ca652d93[repository=src].

Heimdal (Kerberos) has been updated to version 1.22.2.
gitref:3ee9a0f8924d[repository=src].

[[userland-deprecated-programs]]
=== Deprecated Applications

The lpr suite of printing utilities (man:lpr[1], man:lpd[8], man:lpc[8], man:lpq[1], man:lprm[1], man:lp[1], man:pac[8], man:lptest[1], man:chkprintcap[8]) has been deprecated and may be removed before FreeBSD 16.0. Users are advised to use alternatives such as print/cups or sysutils/LPRng from the ports collection.
gitref:9b75d6ec6929[repository=src].

The man:bsdlabel[8] utility has been scheduled for removal in FreeBSD 16.0. Users should migrate to man:gpart[8] for disk labeling.
gitref:be24d85ec784[repository=src].
{{< sponsored "The FreeBSD Foundation" >}}

The man:fdisk[8] utility has been scheduled for removal in FreeBSD 16.0. Users should transition to man:gpart[8] or man:bsdinstall[8] for disk partitioning.
gitref:2be4c64a0d27[repository=src].
{{< sponsored "The FreeBSD Foundation" >}}

[[userland-libraries]]
=== Runtime Libraries and API

The man:posix_spawn[3] interface now supports the POSIX-required `chdir` and `fchdir` file actions, enabling processes to change their working directory during spawning.
gitref:43347b26fb46[repository=src].

The man:posix_spawnattr_getexecfd_np[3] and man:posix_spawnattr_setexecfd_np[3] functions have been added, allowing a file descriptor to be used as the executable file for posix_spawn.
gitref:6b9e7e922d8b[repository=src].

The man:pthread_tryjoin_np[3] function has been added, which allows a thread to attempt to join another thread without blocking.
gitref:a8891c29d6a0[repository=src].

The libc string functions man:memcpy[3], man:memmove[3], and man:memset[3] on AArch64 now use the MOPS (Memory Operations) hardware instructions when available, improving performance for these common operations.
gitref:d8e700f2eeb9[repository=src].
{{< sponsored "Arm Ltd" >}}

Adds a glibc-compatible man:tdestroy[3] function to libc, providing a standardized way to destroy binary search trees and improving compatibility with software expecting this function.
gitref:6197518ee905[repository=src].

Adds man:strdupa[3] and man:strndupa[3] functions, which allocate memory for a copy of a string on the stack using man:alloca[3]. This provides a convenient alternative to man:strdup[3] and man:strndup[3] for temporary string copies that are automatically freed when the function returns.
gitref:b2e649a0b98d[repository=src].

The SONAME of libzfs and libzpool have been bumped to libzfs7 and libzpool7 due to ABI-breaking changes, requiring recompilation of dependent applications.
gitref:5b2489caf266[repository=src].

Adds libuvmem, a userland port of the man:vmem[9] kernel memory allocator, providing a similar interface for userland applications.
gitref:3ae14e8f332f[repository=src].

Expanded support for the C23 version of the C Programming language is now available. It will continue to evolve, with complete support anticipated for FreeBSD 16. New features include the `<stdbit.h>` header, the man:memalignment[3] function, updates to the `<limits.h>` and `<stdint.h>` headers including the `_WIDTH` macros and `char8_t`, as well as various other extensions.
gitref:275c11b7ccff[repository=src],
gitref:104488641aca[repository=src],
gitref:24ea81047de7[repository=src],
gitref:5656d0f7453e[repository=src],
gitref:72609bb2bb25[repository=src],
gitref:ff50ace5fe0e[repository=src],
gitref:cbad54ba46e6[repository=src],
gitref:6fc280810ead[repository=src].

[[cloud]]
== Cloud Support

This section covers changes in support for cloud environments.

Oracle Cloud Infrastructure (OCI) build targets and related scripts are removed. The last official OCI images are from FreeBSD 15.0-RELEASE.
gitref:2702a3ac1ab6[repository=src].
{{< sponsored "SkunkWerks, GmbH" >}}

The man:pkg[7] package is now installed on VM and cloud images that use a packaged base system, enabling base system updates without requiring manual installation of pkg from the ports repository.
gitref:c8d759230a0e[repository=src].
{{< sponsored "Amazon" >}}

The GCE image family now includes TARGET and FS in its name, ensuring that image families are unique per architecture and filesystem. This prevents the GCE instances API from selecting an incompatible image when using an image family name.
gitref:0005bb76e2e7[repository=src].

I/O interrupts from the man:ena[4] device on Graviton (arm64) systems are now spread between CPUs rather than all landing on CPU 0; this results in significantly higher network performance on those EC2 instance types.
gitref:b2ba4131b9b0[repository=src].
{{< sponsored "Amazon" >}}

A firstboot package auto updater has been introduced for cloud images. On first boot, the base system packages are automatically updated to patch the system.
gitref:10c4498f93d2[repository=src].
{{< sponsored "Google Cloud" >}}

The EC2 "small" flavour of AMIs no longer runs firstboot_pkgs by default; users who provide a list of packages to install by setting `firstboot_pkgs_list` in EC2 user-data should now also set `firstboot_pkgs_enable="YES"`.
gitref:b9ee42d7712b[repository=src].
{{< sponsored "Amazon" >}}

[[kernel]]
== Kernel

This section covers changes to kernel configurations, system tuning, and system control parameters that are not otherwise categorized.

[[kernel-general]]
=== General Kernel Changes

The System Dynamic Tracing (SDT) provider is now enabled on 32-bit powerpc and powerpc64le platforms, allowing users to utilize DTrace probes on these architectures.
gitref:769bc6877399[repository=src].

Adds a scheduler selection framework that allows choosing different CPU schedulers at boot time via a tunable. This provides a foundation for future scheduler implementations.
gitref:159a66aecc9c[repository=src].

The `sched_ule` scheduler is now implemented as a scheduler instance, which may affect system performance and scheduling behavior for users.
gitref:ec10524db95a[repository=src].

The kernel configuration for `GENERIC` on amd64 has been includes both `SCHED_ULE` and `SCHED_4BSD` schedulers, allowing users to choose between them at boot via the `kern.sched` sysctl.
gitref:a3b5daf4242f[repository=src].

The MINIMAL kernel configuration has included the virtio_scsi driver, enabling booting in qemu/kvm virtual machines.
gitref:80dec91da334[repository=src].
{{< sponsored "Klara, Inc.; NetApp, Inc." >}}

The man:pdwait[2] system call has been added for waiting on process descriptors, providing an alternative to man:wait4[2] for processes created with man:pdfork[2].
gitref:758de6465572[repository=src].

The man:pdrfork[2] system call has been added, providing a new mechanism for process creation with deterministic resource inheritance.
gitref:4ae6f372e26c[repository=src].

A race condition in the powerpc thread switching code that could cause system hangs during boot on multi-CPU power9 pseries guests  has been resolved.
gitref:a50789d8b89b[repository=src].

The sysctls `hw.ata.rotating` and `hw.ata.unmapped_io` have been scheduled for removal in FreeBSD 16 instead of FreeBSD 15.
gitref:469ab88d107c[repository=src].
{{< sponsored "The FreeBSD Foundation" >}}

The sysctl `vfs.zfs.min_auto_ashift` and other legacy ZFS sysctls now emit warnings when used, indicating they are deprecated and will be removed. Users should update scripts and configurations to use the new sysctl names, such as `vfs.zfs.vdev.min_auto_ashift`.
gitref:f0033878b92e[repository=src].
{{< sponsored "The FreeBSD Foundation" >}}

The Linux compatibility layer adds support for the `F_DUPFD_QUERY` fcntl command, which is used with man:kcmp[2] `KCMP_FILE` for checking file descriptor equivalence in Linux containers.
gitref:ec8d0b5f5dfb[repository=src].

[[drivers]]
== Devices and Drivers

This section covers changes and additions to devices and device drivers since {releasePrev}.

[[drivers-device]]
=== Device Drivers

man:ena[4] driver updated to v2.8.3.
This includes a bug fix to the receive path for jumbograms which can yield a 10x or higher improvement in network throughput.
gitref:b949f8292de5[repository=src].
{{< sponsored "Amazon, Inc." >}}

The bcm2838_xhci driver now correctly identifies the Raspberry Pi 400 hardware by its compatible string, enabling proper xhci initialization and USB functionality (including external ports and the built-in keyboard) on that platform.
gitref:861deac98c4c[repository=src].

A driver for the bcm2835-virtgpio GPIO controller found on Raspberry Pi 3B and some Compute Module boards has been added. This enables control of the ACT (green) LED via man:gpioled[4].
gitref:fb10574334ca[repository=src].

smartpqi driver has been updated to vendor version 14.4690.0.2008 - 15.2.0.2008. The update adds support for new controllers and increases the I/O buffer size limit for passthrough ioctl from 16-bit to 32-bit.
gitref:0c370a416b68[repository=src].
{{< sponsored "Microchip Technology Inc." >}}

The man:asmc[4] driver no longer supports 32-bit Intel-based Macs, making it clear that use on i386 hardware is not supported.
gitref:e16f1bf3baa1[repository=src].

The mfi(4) driver now supports the Fujitsu RAID Controller SAS 6Gbit/s 1GB (D3116) used in Fujitsu PRIMERGY servers.
gitref:e16e4cd25c1d[repository=src].

The hardware performance monitoring counter (hwpmc) support has been added for additional Intel CPU models: Alder Lake (models 6-B7, 6-BA, 6-BF), Alder Lake-N, and Emerald Rapids. Users running on these processors can now collect performance events using man:pmc[3] and related tools. The Emerald Rapids support includes JSON event definitions imported from Intel perfmon version 1.06, providing comprehensive event coverage.
gitref:a40167734ecb[repository=src],
gitref:6b0cb6ea249e[repository=src],
gitref:9ac702781508[repository=src].
{{< sponsored "Stormshield" >}}

The man:hid[4] driver now allows members of the 'game' group to access game controller events, enabling unprivileged use of controllers via libraries like libsdl.
gitref:d0e1b3edee70[repository=src].

The man:iwx[4] driver has been included in the kernel build configuration, enabling support for Intel AX210/AX211/AX411 Wi-Fi 6E and Wi-Fi 7 wireless network adapters.
gitref:0f9ab6c5232b[repository=src].

The NVMe driver now supports BAR5 for Table BIR and PBA BIR, enabling FreeBSD to work on Google Compute Engine C4 machines with NVMe controllers that use separate 32-bit BAR4 and BAR5 registers.
gitref:6c321dc15d52[repository=src].
{{< sponsored "Google" >}}

The man:ice[4] driver now supports the Intel E835-XXV-4 network adapter.
gitref:b59a9230a6a8[repository=src].
{{< sponsored "Intel Corporation" >}}

The man:ice[4] driver now supports Intel E835 Ethernet adapters with SPDM security and RDMA capabilities on 100Gbps and 200Gbps links.
gitref:16004d2a9eee[repository=src].
{{< sponsored "Intel Corporation" >}}

The man:qat[4] driver now supports the 402xx device (IDs 0x4944/0x4945) using the existing qat_4xxx driver. Device-specific firmware files has been added.
gitref:88c0ce38bc18[repository=src].
{{< sponsored "Intel Corporation" >}}

[[drivers-removals]]
=== Deprecated and Removed Drivers

The man:hifn[4] driver has been marked as scheduled for removal in FreeBSD 16.0, alerting users to plan for future compatibility changes.
gitref:ba6c676ef3ac[repository=src].

The man:safe[4] driver has been marked for removal in FreeBSD 16.0, indicating deprecation and future removal of the driver.
gitref:0ef2ecd0ced4[repository=src].

The man:agp[4] driver deprecation notice has been updated to indicate removal in FreeBSD 16.0 instead of 15.0.
gitref:92f169fe0f19[repository=src].
{{< sponsored "The FreeBSD Foundation" >}}

The man:fdc[4] driver and floppy utilities (man:fdcontrol[8], man:fdformat[8], man:fdread[1], man:fdwrite[1]) have been deprecated. Support is planned for removal in FreeBSD 16.
gitref:661b40ffdee2[repository=src].
{{< sponsored "The FreeBSD Foundation" >}}

The deprecation notice for the man:le[4] driver has been updated to reflect that it was not removed prior to FreeBSD 15.0, indicating ongoing support status.
gitref:59ba7278499f[repository=src].
{{< sponsored "The FreeBSD Foundation" >}}

[[storage]]
== Storage

This section covers changes and additions to file systems and other storage subsystems, both local and networked.

[[storage-general]]
=== General Storage

The man:mt[1] utility and libmt library add support for LTO-10 and LTO-10P tape density codes and specifications. LTO-10 tape drives are not backward compatible with previous generation LTO tapes.
gitref:7fe98ee4d49a[repository=src].
{{< sponsored "Spectra Logic" >}}

=== ZFS

The minimum scrub and resilver times for ZFS have been reduced from multi-second to sub-second values, allowing faster transaction group cycles on modern storage and improving write performance under heavy load.
gitref:35ee242abcba[repository=src].

The commit introduces a new tunable, `zfs_arc_evict_batches_limit`, to improve parallel eviction performance in the ZFS ARC. This change reduces lock contention and can significantly increase throughput for certain workloads.
gitref:8a79d0968006[repository=src].

The man:zpool[8] prefetch command now supports BRT (Block Reference Table) metadata, improving performance for block cloning operations and frees of cloned blocks. The `-t` parameter is now optional; when omitted, the command prefetches both DDT and BRT metadata.
gitref:41878d57eaf3[repository=src].

=== NFS

The NFS client now properly handles case-insensitive file systems like man:msdosfs[4] when exported via NFS. Name caching has been modified to avoid false cache hits for different case variations of the same file name.
gitref:406c98d2ca1d[repository=src].

NFSv4 diskless boot now supports configurations using man:nfsuserd[8] for name and id mappings. The kernel primes the mapping cache with essential entries to avoid deadlocks during boot. Users must set boot.nfsroot.options="nfsv4" and boot.nfsroot.user_domain="<user.domain>" in [.filename]#loader.conf#.
gitref:692a289922d2[repository=src].

Adds internal infrastructure for POSIX draft ACLs as an extension to NFSv4.2, based on an Internet Draft. These changes prepare the NFS client and server for future support but introduce no user-visible semantics changes at this time. Note that due to internal KAPI changes, nfscommon.ko, nfscl.ko, and nfsd.ko must be rebuilt from sources after updating.
gitref:20bfa56c514b[repository=src],
gitref:2eddaeb3e505[repository=src],
gitref:d842c511d84c[repository=src],
gitref:dccf41dd1834[repository=src],
gitref:144c1eda3973[repository=src].

The NFSv4 client and server now support the archive attribute (UF_ARCHIVE), which is used by Windows NFSv4.1 clients despite being deprecated in RFC8881. This improves interoperability with Windows NFS clients.
gitref:3a64c667f16f[repository=src].

The support for mounting a diskless root file system via NFSv4 has been added. Requires specific server configuration and client settings in man:loader.conf[5] and man:sysctl.conf[5].
gitref:2a97b49bc472[repository=src].

iSCSI TargetName matching on login is now case-insensitive again, restoring RFC 3722 compliance.
gitref:379805b29732[repository=src].
{{< sponsored "ConnectWise" >}}

[[boot]]
== Boot Loader Changes

This section covers the boot loader, boot menu, and other boot-related changes.

[[boot-loader]]
=== Boot Loader Changes

A shutdown splash screen has been added to the man:splash[4] kernel feature.  Users can customize the shutdown splash by providing a PNG image via the `shutdown_splash` directive in man:loader.conf[5].
After a kernel panic, the splash screen is no drawn over the debugger output, making panic information visible when ddb(4) is disabled.
gitref:0bd9b26d19e2[repository=src],
gitref:6a3966f363d3[repository=src].
{{< sponsored "Defenso" >}}

The EFI boot loader now uses firmware-provided Blt functions only when using GOP (Graphics Output Protocol), not UGA (Universal Graphics Adapter). This improves compatibility with older MacBook systems where UGA Blt functions were unreliable.
gitref:d3902baca506[repository=src].

[[network]]
== Networking

This section describes changes that affect networking in FreeBSD.

[[network-general]]
=== General Network

Adds support for masked IP address lookups in man:ipfw[8] tables, allowing non-contiguous prefixes and enabling more CPU-efficient firewall configurations.
gitref:a9b93531788c[repository=src].
{{< sponsored "Yandex LLC" >}}

The man:ipfw[8] firewall now supports masked IP address lookups in tables, allowing non-contiguous prefixes for more efficient firewall rule configurations. This enables CPU-effective firewall setups by masking non-significant bits in lookup keys and table entries.
gitref:a9b93531788c[repository=src].
{{< sponsored "Yandex LLC" >}}

IPv6 packets are now passed to divert sockets, removing a previous limitation that restricted divert sockets to IPv4 only. This enables IPv6 packet handling in divert socket applications.
gitref:e5cf3437275f[repository=src].
{{< sponsored "OPNsense, Klara, Inc." >}}

Adds a sysctl/tunable `net.inet.ipf.jail_allowed` to control whether a jail can manage its own ipfilter rules, pools, and settings. The default denies jail access, requiring host system management of jail rules via interface attachment or enabling the sysctl for jail control.
gitref:65bc0a1ade72[repository=src].

The man:ipfw[8] version 3 compatibility code for FreeBSD 8 and earlier has been removed, as it is obsolete and no longer needed. This cleanup may affect systems still using very old configurations, but it does not change the functionality for current supported releases.
gitref:9657c50cdd77[repository=src].
{{< sponsored "The FreeBSD Foundation" >}}

The support for RFC 7217 stable IPv6 address generation via a new ifconfig 'stableaddr' flag and associated sysctls has been added. The feature is disabled by default, preserving existing behavior. The man:ifconfig[8] manual page is updated with documentation.
gitref:865e0b20ca3c[repository=src].

The stable MAC address generated for man:if_bridge[4], man:if_epair[4], and other interfaces will change as of 15.0 due to a critical flaw in the implementation that resulted in a high chance of collisions and some generated addresses outside of the expected OUI.
If the previous MAC address needs to be retained for, e.g., DHCP leases, then care must be taken to persist the existing MAC address, such as with `ifconfig_bridgeN="... ether aa:bb:cc:dd:ee:ff"` in man:rc.conf[5].
gitref:604d34c23f77[repository=src]

[[wireless-networking]]
=== Wireless Networking

The man:iwlwifi[4] wireless driver has been updated based on Linux version 7.0. This update includes changes to support newer Intel wireless devices.
gitref:f45e34316eb7[repository=src].
{{< sponsored "The FreeBSD Foundation" >}}

The man:rtw89[4] wireless driver has been updated based on Linux version 7.0, adding support for newer Realtek chipsets and improving stability and functionality. There are still known issues for several chipsets.
gitref:7ffebcdb702d[repository=src].
{{< sponsored "The FreeBSD Foundation" >}}

The man:rtw88[4] driver has been updated based on Linux version 7.0, incorporating various fixes and improvements for Realtek wireless devices. There are known issues with certain chipsets.
gitref:bcdf750def1d[repository=src].
{{< sponsored "The FreeBSD Foundation" >}}

Initial support for LinuxKPI-based wireless drivers, notably man:iwlwifi[4], on RISC-V systems was enabled. While ACPI is not yet fully supported on this architecture, the driver framework has been adapted to allow compilation and operation where possible. Note that the man:rtw89[4] driver is temporarily unavailable on RISC-V due to unresolved ACPI dependencies.
gitref:7990fa2a819c[repository=src],
gitref:24777428cbc2[repository=src],
gitref:d301aadc994f[repository=src],
gitref:4a56313c73eb[repository=src].
{{< sponsored "The FreeBSD Foundation" >}}

[[hardware]]
== Hardware Support

This section covers general hardware support for physical machines, hypervisors, and virtualization environments, as well as hardware changes and updates that do not otherwise fit in other sections of this document.

Please see link:https://www.freebsd.org/releases/{localRel}R/hardware[the list of hardware] supported by {releaseCurrent}, as well as link:https://www.freebsd.org/platforms/[the platforms page] for the complete list of supported CPU architectures.

[[hardware-virtualization]]
=== Virtualization Support

Adds a new jail configuration knob allow.vmm_ppt to control PCI passthrough access in man:bhyve[8] jails. The change requires explicit configuration for PCI passthrough functionality in jails, replacing the previous blanket restriction.
gitref:94066f9a07ad[repository=src].
{{< sponsored "The FreeBSD Foundation; Klara, Inc." >}}

The virtio GPU driver now works with Parallels Desktop by splitting resource attachment requests, enabling graphics support in this virtualization environment.
gitref:91ce7a19120a[repository=src].
{{< sponsored "Arm Ltd" >}}

The support for the Fine-Grained Trap (FGT) registers on arm64 has been added, enabling enhanced virtualization capabilities for hypervisors.
gitref:89776ce6a7b7[repository=src].
{{< sponsored "Arm Ltd" >}}

The commit enables the Memory Operations (MOPS) instruction set for arm64 userspace when the hardware feature is present. This allows user applications to use MOPS instructions for improved memory operations performance.
gitref:2a9a92ba7bd7[repository=src].
{{< sponsored "Arm Ltd" >}}

UNIX domain socket support added to man:bhyve[8] remote framebuffer. Graphical console now available for bhyve instances in jails without networking.
gitref:d29dd64b3f88[repository=src].
{{< sponsored "Defenso" >}}

The amd64 architecture now supports LASS (Linear Address Space Separation), a security feature that helps isolate kernel and user address spaces. This change may affect debugging and low-level system programming.
gitref:532c8d3f90b9[repository=src].

The amd64 architecture now supports the Extended Destination ID standard, enabling support for up to 32768 APIC IDs in IO-APIC and MSI without interrupt remapping; in particular, this adds support for EC2 "r8i.96xlarge" instances.
gitref:b54646e37a2b[repository=src].
{{< sponsored "Amazon" >}}

[[documentation]]
== Documentation

This section covers changes to manual (man:man[1]) pages and other documentation shipped with the base system.

[[man-pages]]
=== Man Pages

The man:sh[1] manual page now includes detailed job control documentation, adopting POSIX standard text to match the FreeBSD implementation.
gitref:0b5ced487a28[repository=src].

man:pdfork[2] and man:pdwait[2] manual pages has been added documenting the pdrfork and pdwait system calls.
gitref:780b7f9e0ece[repository=src].

The man:renameat2[2] syscall is documented, providing users with information about the extended rename functionality.
gitref:3ccc39d38ed8[repository=src].

The man:write[2] manual now includes a new section describing the atomicity guarantees of write operations.
gitref:514c8f173ce0[repository=src].

The manual page for the undocumented man:mq_getfd_np[3] function from man:librt[3] has been added. This provides documentation for a function that has been present since FreeBSD 11.
gitref:992f994bb71e[repository=src].

Adds man:posix_spawnattr_getprocdescp_np[3] and man:posix_spawnattr_setprocdescp_np[3] manual pages, documenting the extensions for managing process descriptors in posix_spawn.
gitref:4d8e4b67f5b5[repository=src].

Adds man:posix_spawnattr_getexecfd_np[3] manual page.
gitref:ad6a63b4ec6b[repository=src].

The man page for man:pthread_join[3] is updated to document the man:pthread_tryjoin_np[3] function, providing users with a non-blocking alternative for thread joining.
gitref:d1ac644ccc43[repository=src].

Manuals for several DTrace providers have been added, including man:dtrace_vfs[4] (VFS activity), man:dtrace_pid[4] (user-level process tracing),man:dtrace_priv[4] (privilege checks), and man:dtrace_callout_execute[4] (callout handler execution).
gitref:09af13403983[repository=src],
gitref:20fc2b332bd2[repository=src],
gitref:443b7c41d619[repository=src],
gitref:1c0178baa7c3[repository=src].

Adds man:geom_zero[4] manual page documenting the GEOM ZERO class and its features.
gitref:32ef68b0f30d[repository=src].

Documentation for two new sysctls, tx_reclaim_ticks and tx_reclaim_thresh (man:iflib[4]), has been added. These sysctls affect network driver transmit behavior.
gitref:ef8c912aadad[repository=src].
{{< sponsored "Netflix" >}}

The man:nfsv4[4] manual page now includes documentation for setting up an NFSv4 root file system, providing guidance for users who wish to use this feature.
gitref:6ef2df5e8e7a[repository=src].

A new man page for man:nlsysevent[4] has been added to the base system.
gitref:56a5d11dd69f[repository=src].

Adds man:vmgenc[4] manual page documenting the VM Generation ID Counter driver, which reseeds the kernel entropy pool when virtual machine cloning or snapshot restoration is detected.
gitref:252f0c28855b[repository=src].

The man:vt[4] manual now includes an example on increasing scrollback size and a section explaining console fonts, covering conversion, support, and usage.
gitref:2da71ee296ad[repository=src].

The man:pf.conf[5] manual page now includes `nat-to` and `rdr-to` in the BNF grammar, clarifying the syntax for users.
gitref:1c7c2027f2d1[repository=src].
{{< sponsored "Rubicon Communications, LLC (\"Netgate\")" >}}

The man:resolver[5] man page now documents the `edns0`, `inet6`, `insecure1`, `insecure2`, `no-check-names`, and `rotate` options, which are parsed by man:res_init[3] but were previously undocumented.
gitref:c988f316d6c6[repository=src].

The documentation has been added for several string functions to man:d[7]: `strchr`, `strjoin`, `strrchr`, `strstr`, `strtok`, `strlen`, and `substr`.
gitref:d086bf34b56f[repository=src].

A new manual page man:groups[7] has been added describing standard group names.
gitref:0ac3db880552[repository=src].

The man:ports[7] manual page has been substantially improved. The `FILES` section has been expanded and refactored into three tables for better clarity, with terse descriptions of individual port files now included. Additionally, the `DEFAULT_VERSIONS` variable is now documented, providing users with information about setting default versions for ports options.
gitref:1b5b7867b67f[repository=src],
gitref:782ea981ea72[repository=src],
gitref:0ebf602e1785[repository=src].

The man:tuning[7] manual page now documents kernel scheduler tunables, providing users with information on available scheduler configuration options.
gitref:4e5c15f3107e[repository=src].

The manual pages have been added for the deprecated blacklist utilities (man:blacklistctl[8], man:blacklistd[8], man:blacklistd.conf[5], man:libblacklist[3]), documenting their deprecation and nuances. This provides users with updated documentation for the deprecated blacklist tools, which are now renamed to blocklist.
gitref:f935c0f66f75[repository=src].

The man page for man:cron[8] is updated to clarify the system crontab format.
gitref:d2fb6b8f80cc[repository=src].

The man:ifconfig[8] manual page formatting has been corrected to improve readability.
gitref:c20f5fd44322[repository=src].

The man:jail[8] manual page now documents two methods for jail creation: from a package base and from a distribution set.
gitref:f467eb078f51[repository=src],
gitref:5d7cd576d99b[repository=src].

The man:shutdown[8] manual page now documents additional time formats accepted by the shutdown command, improving clarity for users.
gitref:c13157b87b00[repository=src].

Adds man:deadfs[9] manual page documenting the dead file system.
gitref:d8097cf79cfa[repository=src].
