xref: /freebsd/RELNOTES (revision ca67cfa5237f7ac537ca8611054b5af2098e2d86)
1Release notes for FreeBSD 16.0.
2
3This file describes new user-visible features, changes and updates relevant to
4users of binary FreeBSD releases.  Each entry should describe the change in no
5more than several sentences and should reference manual pages where an
6interested user can find more information.  Entries should wrap after 80
7columns.  Each entry should begin with one or more commit IDs on one line,
8specified as a comma separated list and/or range, followed by a colon and a
9newline.  Entries should be separated by a newline.
10
11Changes to this file should not be MFCed.
12
13b92b9da33006, 13d3bd165e22:
14	This patch allows vfs.nfsd.srvmaxio to be set to
15	a value as high as 4Mbytes.  It is usually set
16	via the nfs_server_maxio variable in /etc/rc.conf.
17
184c486fe40267:
19	The multicast routing modules, ip_mroute and ip6_mroute, are now FIB-aware.
20	That is, there is a multicast routing table per FIB, rather than a global
21	table.  One can run a multicast routing daemon within each FIB; the FIB of
22	the routing socket determines the corresponding multicast routing table.
23
2465f5dd42f11c:
25	sh(1) add -l option which makes sh act as a login shell and read the profile.
26
27beab8b1ddf86:
28	bintrans(1) now supports the RFC2047 variant of quoted print
29
309dc96d8bc3f2:
31	libusb(3) hotplug event are now really hotplugged using either
32	nlsysevent or devd(9) if available.
33
34d64db8892f85:
35	sh(1) is the default shell in the release media.
36
3768ad2b0d7af2:
38	ncurses has been updated to 6.6
39
4052d19df19ed6:
41	nvi(1) has been update to 2.2.2
42
434d5c434ed16e, 2cfca8e710f2:
44	diff3(1) has replaced GNU diff3 and is now fully compatible.
45
46625dc44832cd:
47	tr(1) is now UTF-8 compliant.
48
4962fba0054d9e:
50	ee(1) is now UTF-8 compliant.
51
525df6aca10906:
53	ed(1) is now UTF-8 compliant.
54
5528ff4d35f8b9:
56	Update libedit to 2026-04-03.
57
58b42e852e89cb:
59	Add a new pkg-serve(8) to serve packages over TCP via inetd.
60
618b9775912cbc, 53b4ae3bf0f7:
62	Add support for an NFSv4 root file system.
63	Note that NFSv3 is still used for bootstrapping. See
64	"Diskless Operation with PXE" under "Advanced Networking" in the
65	FreeBSD Handbook.  To configure an NFSv4 root fs, you will need
66	a line in /boot/loader.conf like boot.nfsroot.options="nfsv4" and
67	either a line in /etc/sysctl.conf like vfs.nfs.enable_uidtostring=1
68	or an additional line in /boot/loader.conf like
69	boot.nfsroot.user_domain="<user-domain>",
70	if you are running nfsuserd(8).
71
72ab9257599a5:
73	The src.conf(5) options WITHOUT_BZIP2 and WITHOUT_BZIP2_SUPPORT
74	have been removed.
75
76af099eaa5ec:
77	Users belonging to the new vmm group can now create bhyve VMs.  See the
78	vmm(4) man page for details.
79
80c71354030a2:
81	Users wishing to use bhyve PCI passthrough in jails must create the
82	jail with the allow.vmm_ppt option configured.
83
844d707825bf62:
85	The pdwait(2) system call was added.  It provides wait(2)-like
86	functionality for a process descriptor (see procdesc(4)).
87
885c2ee618d5ec:
89	The pdrfork(2) system call was added.  It behaves like rfork(2) but
90	additionally returns a process descriptor (see procdesc(4)).
91
9241ccf82b29f3, 591c7a08bf8a:
93	On arm64, memcpy(3), memmove(3) and memset(3) are now implemented using
94	the MOPS (Memory Operations) feature instructions when they are
95	implemented by the system.
96
973f0aea09689f:
98	posix_spawnattr_getexecfd_np(3) and posix_spawnattr_setexecfd_np(3)
99	functions were added to libc.  The latter causes posix_spawn(3) to
100	call fexecve(2) on the specified file descriptor rather than executing
101	the file at the provided path.
102
103fb4b0c911951:
104	witness(4) now prints additional information to the system console when
105	a lock order reversal is detected, making debugging such issues easier.
106
1071322760fd127:
108	It is now possible to compile both the 4BSD and ULE schedulers into the
109	same kernel.  The scheduler is selectable at boot-time using a tunable.
110	See the SCHEDULERS section of the tuning(7) man page for details.
111
112627e126dbb07:
113	The default value of the net.inet6.ip6.connect_in6addr_wild has changed
114	to 0.  This means that connecting to the all-zeroes IPv6 address no longer
115	implicitly results in a loopback connection.
116
117afa70a8496e9:
118	The pthread_tryjoin_np(3) function was added to libthr(3).  It provides
119	the same functionality as pthread_join(3) but returns instead of
120	blocking if the target thread has not yet exited.
121
122ecc039be7fdd:
123	NanoBSD images can now be built as a non-root user.
124
1257f54c65abc67:
126        Update smartpqi(4) to vendor version 14.4690.0.2008 - 15.2.0.2008
127        for the SmartArray storage controllers.  This adds support for new
128        controllers, adds code that utilizes the new BIG_IOCTL_Command_struct
129        and allows the I/O buffer size for a single passthrough ioctl to be
130        stored as a 32 bit integer instead of the original 16 bit integer.
131
132b0d997095022:
133	The pf firewall now supports passing IPv6 packets to divert(4)
134	sockets via divert-to actions.
135
1360fa7b3bee72e, c71f18998e0b, 4162a419a475, f5a77dc8f8df:
137	LinuxKPI based wireless drivers, especially iwlwifi(4) are now
138	supported on RISC-V.
139
1408254b0dec02b3, bd55cbb50c588:
141	The mac(4) framework has been extended to support jail operations,
142	allowing a policy to constrain jail creation, modification, removal, and
143	attachment.  Jails have additionally been made a first-class mac(4)
144	object, and a mac.label jail(8) property has been added to facilitate
145	administration of their labels.
146
147c558eca47970:
148	The smartpqi(4) driver was updated to vendor version 4660.0.2002
149	for the SmartArry storage controllers.
150
151493d26c58e73:
152	The aq(4) driver was added, imported from the vendor repository.
153	This provides support for Aquantia / Marvell PCIe 1/2.5/5/10 Gigabit
154	Ethernet adapters (AQC107, AQC108, AQC109, AQC111, AQC112).
155
1561a7151f79664:
157	A new CAM provider was added to dtrace.  This enables tracing of I/O
158	requests through the CAM layer without relying on fragile function
159	boundary tracing.  See dtrace_cam(4) for details.
160
161b8c99e7d912f:
162	The tdestroy(3) function was added to libc.  The tdestroy() function
163	destroys a whole search tree, freeing all allocated nodes.
164
1654bf8ce037dc8:
166	The rge(4) driver was added, ported from OpenBSD.  This provides
167	support for RealTek RTL8125, RTL8126 and RTL8127 PCIe Ethernet
168	controllers.
169
170cbc6f7e941e4:
171	bhyve(8)'s VNC device can now listen on a unix(4) socket for VNC client
172	connections.
173
17439ee24182b92:
175	An rc(8) service can now be started as a specific user for auditing
176	purposes by setting the <service>_audit_user rc.conf(5) variable.
177
178dcb0790bad43:
179	A setaudit(8) utility was added to the base system.  This provides a
180	simple command-line wrapper for the setaudit(2) and setaudit_addr(2)
181	system calls.
182
1838e3fd450cc53, 949cff4dceff, 0e724de9ed6f, 9f49f436a9ec, e35191ccf3b3:
184	Add support for an extension to NFSv4.2 (RFCnnnn) that
185	supports handling of POSIX draft ACLs via getfacl(1)/setfacl(1).
186
187dbac191956f9, fe21dbf70aa8:
188	Support for the kcmp(2) system call and fcntl(F_DUPFD_QUERY) for Linux
189	binaries.
190
191a86dc94b84d1:
192	tzdata2025c was imported.
193
194a98e5d785001:
195	Add strdupa(3) and strndupa(3) macros for compatability with glibc.
196
197e967a2a03677:
198	divert socket compat removal, consumers must use PF_DIVERT instead of
199	PF_INET.
200
2014453ec5b8716b, 2a3b1641756a:
202	The reboot(8) and halt(8) commands now perform a graceful shutdown similar
203	to the shutdown(8) command including invoking rc.d scripts to shutdown
204	services.  The fastboot(8) and fasthalt(8) commands still perform a "fast"
205	reboot or shutdown.
206
207d9788eabffa4:
208	ipfilter cannot be used in a jail by default.
209
2100ff0c19e7f70:
211	ipfs(8) is no longer built by default.
212
213575efcfff22f:
214	sendfile(2)'s SF_SYNC flag was removed.
215
216057dae35ffc6, 51a01f3debff, ca3e47b0ea68:
217	hwpmc(4) support for Intel Alder Lake 6-B7, 6-BA, and 6-BF CPU
218	hwpmc(4) support for Intel Emerald Rapids CPUs
219	hwpmc(4) support for Intel Alder Lake-N CPUs
220
2211ecf01065b45:
222	New library libuvmem provides the vmem(9) API to userspace applications.
223
224b6cad334e64:
225	Make game controller devices accessible by members of the "game" group
226	by default.
227
228791c531402bd:
229	Add driver for Feature Integration Technology Inc. (aka Fintek) F81232
230	USB to serial devices.
231
232ec0cd287f55f:
233	Support for NVMe/TCP offload on Chelsio T7 adapters.  The nvmf_che(4)
234	module enables T7 adapters to process NVMe/TCP PDUs directly similar to
235	the PDU offload provided by cxgbei(4) for iSCSI.
236