xref: /freebsd/RELNOTES (revision b4a465e566a1850e232b454efe99e05c1ea93f67)
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
133fe5961a0b70:
14	sysconf(8) and libbsdconf(3) have been added.  sysconf(8) queries
15	and edits loader.conf(5), sysctl.conf(5), and the make.conf(5)
16	family (make.conf, src.conf, and src-env.conf) in the style of
17	sysrc(8).  The rc target passes through to sysrc(8).
18
197144a1d58c5c, a311bd18a6fb, 884ee8d6c9b4:
20	These three patches add the required "glue" so that the
21	nfsrdma.ko and nfsclrdma.ko modules can be loaded.
22	These modules provide server and client support for
23	NFS over RDMA.
24
2534bb38445b07:
26    libusb has been updated to upstream 1.0.27 compatible.
27    All missing part is implemented and version tag is bumped.
28
296563dcb6b1f5:
30	It is now possible to use connectat(2) to connect to a unix(4) socket
31	directly, i.e., without having to specify a name in the sockaddr.
32
3372e57bc26417, 3dfbbe8586bb, d8e8f9251975:
34	These patches provide improvements for the pNFS server
35	configuration.  New optional features include:
36	- Support for striped Flexible File Layouts (RFC8435).
37	- Support for pre-creation of files, allowing the
38	  Open/Create to be done without communicating with
39	  any DSs, so long as the cache of pre-created files
40	  is not depleted.
41
42b92b9da33006, 13d3bd165e22:
43	This patch allows vfs.nfsd.srvmaxio to be set to
44	a value as high as 4Mbytes.  It is usually set
45	via the nfs_server_maxio variable in /etc/rc.conf.
46
474c486fe40267:
48	The multicast routing modules, ip_mroute and ip6_mroute, are now FIB-aware.
49	That is, there is a multicast routing table per FIB, rather than a global
50	table.  One can run a multicast routing daemon within each FIB; the FIB of
51	the routing socket determines the corresponding multicast routing table.
52
535c2186b99254,628d7a3270b6:
54	When the sector size for an NVMe namespace changes, nda(4) now
55	reports this as a media change rather than a disk resize
56	event.  nda(4) also no longer reports a disk resize event in
57	some cases when the namespace's size had not changed.  nda(4)
58	also reprobes NVMe namespaces each time they are opened to
59	check for a new sector size or namespace size.
60
617a323f873662:
62	Remove the le(4) driver.  This driver supported older 10Mbps
63	and 100Mbps Ethernet adapters.  True hardware devices have not
64	been used in FreeBSD systems in many years, but the driver was
65	previously retained for use with MIPS QEMU virtual machines.
66
67e51ef8ae490f:
68	Add initial support for instruction-based sampling (IBS)
69	performance counters on AMD processors to hwpmc(4).
70
71d69fc3a9dc71:
72	The EFI boot loader now tries all ZFS pools found during
73	probing when looking for a boot pool.  Previously it would try
74	only the first pool found.
75
764d5c434ed16e:
77	Use the BSD-licensed implementation of diff3 instead of GNU diff3
78	by default.
79
807f54c65abc67:
81	Update the smartpqi(4) driver to vendor version 14.4690.0.2008
82	- 15.2.0.2008.  This includes support for new controllers and
83	renaming Microsemi to Microchip.
84
85350c1232a57a:
86	nvmecontrol(8)'s telemetry-log now works reliably.
87
88d14e018024bb,b125c4d13095,1322760fd127,0730a05cd383:
89	Permit both SCHED_ULE and SCHED_4BSD to be compiled into the
90	same kernel.  The scheduler can be selected at boot time by
91	setting the kern.sched_name tunable to the scheduler name
92	("4BSD" or "ULE").  The default scheduler is ULE.  This is
93	currently enabled in amd64 kernels by default.
94
9590a7728cd890:
96	Update nuageinit to request configuration on all network
97	interfaces.  nuageinit will now issue DHCP requests on all
98	network interfaces and request configuration data from the
99	first interface which successfully obtains a lease.
100
10192ba9b2fe589:
102	Add RoCE support for Broadcom BCM576xx controllers.
103
104fb4b0c911951:
105	Add a facility to witness(4) to provide more detailed information
106	about lock order reversals detailing when initial lock orders were
107	established.
108
10965f5dd42f11c:
110	sh(1) add -l option which makes sh act as a login shell and read the profile.
111
112beab8b1ddf86:
113	bintrans(1) now supports the RFC2047 variant of quoted print
114
1159dc96d8bc3f2:
116	libusb(3) hotplug event are now really hotplugged using either
117	nlsysevent or devd(9) if available.
118
119d64db8892f85:
120	sh(1) is the default shell in the release media.
121
12268ad2b0d7af2:
123	ncurses has been updated to 6.6
124
12552d19df19ed6:
126	nvi(1) has been update to 2.2.2
127
1284d5c434ed16e, 2cfca8e710f2:
129	diff3(1) has replaced GNU diff3 and is now fully compatible.
130
131625dc44832cd:
132	tr(1) is now UTF-8 compliant.
133
13462fba0054d9e:
135	ee(1) is now UTF-8 compliant.
136
1375df6aca10906:
138	ed(1) is now UTF-8 compliant.
139
14028ff4d35f8b9:
141	Update libedit to 2026-04-03.
142
143b42e852e89cb:
144	Add a new pkg-serve(8) to serve packages over TCP via inetd.
145
1468b9775912cbc, 53b4ae3bf0f7:
147	Add support for an NFSv4 root file system.
148	Note that NFSv3 is still used for bootstrapping. See
149	"Diskless Operation with PXE" under "Advanced Networking" in the
150	FreeBSD Handbook.  To configure an NFSv4 root fs, you will need
151	a line in /boot/loader.conf like boot.nfsroot.options="nfsv4" and
152	either a line in /etc/sysctl.conf like vfs.nfs.enable_uidtostring=1
153	or an additional line in /boot/loader.conf like
154	boot.nfsroot.user_domain="<user-domain>",
155	if you are running nfsuserd(8).
156
157ab9257599a5:
158	The src.conf(5) options WITHOUT_BZIP2 and WITHOUT_BZIP2_SUPPORT
159	have been removed.
160
161af099eaa5ec:
162	Users belonging to the new vmm group can now create bhyve VMs.  See the
163	vmm(4) man page for details.
164
165c71354030a2:
166	Users wishing to use bhyve PCI passthrough in jails must create the
167	jail with the allow.vmm_ppt option configured.
168
1694d707825bf62:
170	The pdwait(2) system call was added.  It provides wait(2)-like
171	functionality for a process descriptor (see procdesc(4)).
172
1735c2ee618d5ec:
174	The pdrfork(2) system call was added.  It behaves like rfork(2) but
175	additionally returns a process descriptor (see procdesc(4)).
176
17741ccf82b29f3, 591c7a08bf8a:
178	On arm64, memcpy(3), memmove(3) and memset(3) are now implemented using
179	the MOPS (Memory Operations) feature instructions when they are
180	implemented by the system.
181
1823f0aea09689f:
183	posix_spawnattr_getexecfd_np(3) and posix_spawnattr_setexecfd_np(3)
184	functions were added to libc.  The latter causes posix_spawn(3) to
185	call fexecve(2) on the specified file descriptor rather than executing
186	the file at the provided path.
187
188fb4b0c911951:
189	witness(4) now prints additional information to the system console when
190	a lock order reversal is detected, making debugging such issues easier.
191
1921322760fd127:
193	It is now possible to compile both the 4BSD and ULE schedulers into the
194	same kernel.  The scheduler is selectable at boot-time using a tunable.
195	See the SCHEDULERS section of the tuning(7) man page for details.
196
197627e126dbb07:
198	The default value of the net.inet6.ip6.connect_in6addr_wild has changed
199	to 0.  This means that connecting to the all-zeroes IPv6 address no longer
200	implicitly results in a loopback connection.
201
202afa70a8496e9:
203	The pthread_tryjoin_np(3) function was added to libthr(3).  It provides
204	the same functionality as pthread_join(3) but returns instead of
205	blocking if the target thread has not yet exited.
206
207ecc039be7fdd:
208	NanoBSD images can now be built as a non-root user.
209
2107f54c65abc67:
211        Update smartpqi(4) to vendor version 14.4690.0.2008 - 15.2.0.2008
212        for the SmartArray storage controllers.  This adds support for new
213        controllers, adds code that utilizes the new BIG_IOCTL_Command_struct
214        and allows the I/O buffer size for a single passthrough ioctl to be
215        stored as a 32 bit integer instead of the original 16 bit integer.
216
217b0d997095022:
218	The pf firewall now supports passing IPv6 packets to divert(4)
219	sockets via divert-to actions.
220
2210fa7b3bee72e, c71f18998e0b, 4162a419a475, f5a77dc8f8df:
222	LinuxKPI based wireless drivers, especially iwlwifi(4) are now
223	supported on RISC-V.
224
2258254b0dec02b3, bd55cbb50c588:
226	The mac(4) framework has been extended to support jail operations,
227	allowing a policy to constrain jail creation, modification, removal, and
228	attachment.  Jails have additionally been made a first-class mac(4)
229	object, and a mac.label jail(8) property has been added to facilitate
230	administration of their labels.
231
232c558eca47970:
233	The smartpqi(4) driver was updated to vendor version 4660.0.2002
234	for the SmartArry storage controllers.
235
236493d26c58e73:
237	The aq(4) driver was added, imported from the vendor repository.
238	This provides support for Aquantia / Marvell PCIe 1/2.5/5/10 Gigabit
239	Ethernet adapters (AQC107, AQC108, AQC109, AQC111, AQC112).
240
2411a7151f79664:
242	A new CAM provider was added to dtrace.  This enables tracing of I/O
243	requests through the CAM layer without relying on fragile function
244	boundary tracing.  See dtrace_cam(4) for details.
245
246b8c99e7d912f:
247	The tdestroy(3) function was added to libc.  The tdestroy() function
248	destroys a whole search tree, freeing all allocated nodes.
249
2504bf8ce037dc8:
251	The rge(4) driver was added, ported from OpenBSD.  This provides
252	support for RealTek RTL8125, RTL8126 and RTL8127 PCIe Ethernet
253	controllers.
254
255cbc6f7e941e4:
256	bhyve(8)'s VNC device can now listen on a unix(4) socket for VNC client
257	connections.
258
25939ee24182b92:
260	An rc(8) service can now be started as a specific user for auditing
261	purposes by setting the <service>_audit_user rc.conf(5) variable.
262
263dcb0790bad43:
264	A setaudit(8) utility was added to the base system.  This provides a
265	simple command-line wrapper for the setaudit(2) and setaudit_addr(2)
266	system calls.
267
2688e3fd450cc53, 949cff4dceff, 0e724de9ed6f, 9f49f436a9ec, e35191ccf3b3:
269	Add support for an extension to NFSv4.2 (RFCnnnn) that
270	supports handling of POSIX draft ACLs via getfacl(1)/setfacl(1).
271
272dbac191956f9, fe21dbf70aa8:
273	Support for the kcmp(2) system call and fcntl(F_DUPFD_QUERY) for Linux
274	binaries.
275
276a86dc94b84d1:
277	tzdata2025c was imported.
278
279a98e5d785001:
280	Add strdupa(3) and strndupa(3) macros for compatability with glibc.
281
282e967a2a03677:
283	divert socket compat removal, consumers must use PF_DIVERT instead of
284	PF_INET.
285
2864453ec5b8716b, 2a3b1641756a:
287	The reboot(8) and halt(8) commands now perform a graceful shutdown similar
288	to the shutdown(8) command including invoking rc.d scripts to shutdown
289	services.  The fastboot(8) and fasthalt(8) commands still perform a "fast"
290	reboot or shutdown.
291
292d9788eabffa4:
293	ipfilter cannot be used in a jail by default.
294
2950ff0c19e7f70:
296	ipfs(8) is no longer built by default.
297
298575efcfff22f:
299	sendfile(2)'s SF_SYNC flag was removed.
300
301057dae35ffc6, 51a01f3debff, ca3e47b0ea68:
302	hwpmc(4) support for Intel Alder Lake 6-B7, 6-BA, and 6-BF CPU
303	hwpmc(4) support for Intel Emerald Rapids CPUs
304	hwpmc(4) support for Intel Alder Lake-N CPUs
305
3061ecf01065b45:
307	New library libuvmem provides the vmem(9) API to userspace applications.
308
309b6cad334e64:
310	Make game controller devices accessible by members of the "game" group
311	by default.
312
313791c531402bd:
314	Add driver for Feature Integration Technology Inc. (aka Fintek) F81232
315	USB to serial devices.
316
317ec0cd287f55f:
318	Support for NVMe/TCP offload on Chelsio T7 adapters.  The nvmf_che(4)
319	module enables T7 adapters to process NVMe/TCP PDUs directly similar to
320	the PDU offload provided by cxgbei(4) for iSCSI.
321